El tema es, a la vez, simple y complicado, de allí la demora. No tengo referencias que poner, los hacks más confiables provienen de páginas escritas en inglés y la información porporcionada por la ayuda de Blogger es lamentable.
Lo que sigue es el resultado de mi propia experiencia y no tiene otro interés que compartirla con quien esté interesado. Hay cosas que no entiendo y cosas que pasé por alto, sin embargo, casi todo fue implementado en este blog, por lo que los resultados, al menos en esta plantilla, están dentro de lo razonable.
Como siempre, hacer una copia de seguridad ANTES de realizar cualquier cambio.
En todos los casos hay que tener en cuenta que ciertas definiciones de estilo pueden modificar la forma en que vemos un texto. Por ejemplo, si un tag tiene alguno de estos códigos CSS:
text-transform: capitalize
mostrará en mayúsculas el primer carácter de cada palabra
text-transform: uppercase
mostrará todo en mayúsculas
text-transform: lowercase
mostrará todo en minúsculas
La única manipulación que se me ocurre razonable es darles SIEMPRE un nombre al crear el widget, aún cuando no querramos que el título se vea y luego, eliminar o modificar el código. De esta manera, si por ejemplo tenemos varios elementos HTML podremos identificarlos en la ventana de diseño por su nombre. Generalmente, los títulos se muestran así:
<b:if cond='data:title'>
<h2><data:title/></h2>
</b:if>
donde <data:title/> es el título de ese widget
En cualquier caso, hay que recordar que las variables internas contiene datos que ingresamos nosotros o que Blogger define por defecto. Eliminando la variable de la plantilla no se elimina el dato, simplemente, no se lo muestra o se muestra otro cualquiera.
Las widgets Label y BlogArchive son casos especiales y conviene tratarlos en otro momento. Lo mismo puede decirse de Header y Profile.
Por lo tanto, nos quedamos con una sola, la widget Blog que es donde se incluyen las entradas, los comentarios, los backlinks, etc, etc, etc. Es la más importante, la más compleja y la más difícil de analizar porque es el elemento "más largo".
Para poder encontrar el código que buscamos, debemos recordar que está "dividido" en bloques de tipo <b:includable ...> ... </b:includable>. Si bien sólo algunos de los bloques contienen algún tipo de texto, aquí esta la lista de todos ellos:
<b:section class='main' id='main' showaddelement='no'>
<b:widget id='Blog1' locked='true' title='Entradas' type='Blog'>
<b:includable id='comments'> .......
<b:includable id='main'> .......
<b:includable id='postQuickEdit'> .......
<b:includable id='backlinkDeleteIcon'> .......
<b:includable id='feedLinksBody'> .......
<b:includable id='backlinks'> .......
<b:includable id='status-message'> .......
<b:includable id='feedLinks'> .......
<b:includable id='nextprev'> .......
<b:includable id='commentDeleteIcon'> .......
<b:includable id='post'> .......
todos terminan con un tag </b:includable>
</b:widget>
</b:section>
LOS MÁS SIMPLES
1. SUBSCRIBE TO<b:includable id='feedLinksBody' var='links'>
.......
<div class='feed-links'> Subscribe to:
o bien
<div class='feed-links'><data:feedLinksMsg/>
.......
</b:includable>
2. BACKLINKS (en las páginas de entradas individuales)
<b:includable id='backlinks' var='post'>
.......
<h4><data:post.backlinksLabel/></h4>
.......
<data:post.createLinkLabel/>
3. NEWER/OLDER POSTS, HOME
<b:includable id='nextprev>
.......
Home o bien <data:homeMsg/>
.......
<data:newerPageTitle/>
.......
<data:olderPageTitle/>
.......
4. PIE DE PAGINA DE CADA ENTRADA
Todos estos se encuentran en el bloque <b:includable id='comments' var='post'>
<p class='post-footer-line post-footer-line-1'>
.......
<data:top.authorLabel/> o Posted by:
<data:post.author/>
<data:top.timestampLabel/>
.......
<span class='post-backlinks post-comment-link'>
.......
<data:top.backlinkLabel/>
.......
<p class='post-footer-line post-footer-line-2'>
.......
<data:postLabelsLabel/>
.......
LOS COMENTARIOS
Estos merecen un párrafo aparte. Los cambios que hay que hacer son varios ya que hay un código que se usa en la página principal y otro que se utiliza en las páginas de entradas individuales además de tener un bloque especial donde se "inicializan" los datos.Por otro lado, como dije antes, los singulares y plurales no funcionan correctamente ni siquiera en inglés. Y, para colmo de males, a Blogger no se le ocurrió pensar que a la mayoría de nosotros nos gustaría poner textos un poco "más originales": 0 comentarios es, una patada traicionera al buen gusto.
Lo primero que debemos ver es que hay un bloque específico de comentarios que tiene más o menos este contenido:
<b:includable id='comments' var='post'>
<h4>
<b:if cond='data:post.numComments == 1'>
SI sólo hay un comentario
1 <data:commentLabel/>
<b:else/>
SI hay más comentarios o no hay ninguno
<data:post.numComments/> <data:commentLabelPlural/>
</b:if>
</h4>
Aquí va una solución personal. Yo quería mostrar tres tipos de mensajes diferentes, uno cuando hubiera varios comentarios, otro cuando sólo había uno y otro cuando no había ninguno. Para esto, primero cambiamos el bloque anterior:
<b:if cond='data:post.numComments == 0'>
Sin comentarios
<b:else/>
<b:if cond='data:post.numComments == 1'>
1 comentario:
<b:else/>
<data:post.numComments/> comentarios:
</b:if>
</b:if>
</h4>
<dt class='comment-author' ... >
.......
<data:commentPostedByMsg/> o said...
.......
</dt>
.......
<p class='comment-footer'> o <div id='comment-label'>
.......
<data:postCommentMsg/> o Post a Comment
.......
</p> o </div>
<span class='post-comment-link'>
<b:if cond='data:blog.pageType != "item"'>
<b:if cond='data:post.allowComments'>
<a .....>
<b:if cond='data:post.numComments == 1'>
1 <data:top.commentLabel/>
<b:else/>
<data:post.numComments/>
<data:top.commentLabelPlural/>
</b:if>
</a>
</b:if>
</b:if>
</span>
Mensaje para cuando no hay comentarios
<b:else/>
<b:if cond='data:post.numComments == 1'>
Mensaje si sólo hay un comentario
<b:else/>
<data:post.numComments/> comentarios
</b:if>
</b:if>
La primera condición verifica si no hay comentarios (data:post.numComments == 0), si eso es cierto, PIDO QUE ALGUIEN COMENTE, en caso contrario (else) significa que, por lo menos hay un comentario, entonces anido otra condición ¿sólo hay uno? (data:post.numComments == 1) y si es cierto, el mensaje es SOLO UN COMENTARIO, en caso contrario (else), no quedan más alternativas, quiere decir que hay dos o más y el mensaje es XX COMENTARIOS.
Y eso es todo. Por supuesto, los mensajes son personales y dependen de cada uno. Me gustaría ver textos más originales por ejemplo, cuando no haya comentarios, amenazar "¡A ver si alguien dice algo!", ser un poco agresivo, ¡Comenten, carajo!, suplicar "Me siento solo, que alguien me hable.", o francamente demagogo "$100 al primer comentario".
Que nadie crea que aquí va a ver semejantes extravagancias. Yo soy un tipo serio.
19 comentarios:
genial!! muy util y muy bien explicado.
En mi plantilla los códigos eran algo diferentes (Supongo que los templates "base" eran distintos). De todas maneras, y gracias a lo que explicabas de los condicionales el otro dia, es facil deducir donde va cada cosa.
gracias, y saludos!!
Tienes razón, la forma en que está escrita cada plantilla es MUY diferente. Me basé en cuatro modelos y aún así, hay cosas que se me escapan.
Por otro lado, es una modificación que requiere entender lo que se está haciendo y, sobre todo, ser prudente. Aprovecho tu comentario para agregar un consejo:
Al hacer un cambio, prueben el resultado en las DIFERENTES páginas, no sólo en la principal, vean qué pasa con las entradas individuales, con los archivos, los retrocesos, etc.
Jmiur, me toma los códigos en las entradas individuales pero me deja sin link en la página ppal...
(Y no lo estoy probando en las que uso adapatadas de wordpress)
El primer código yo lo encuentro justo donde tengo puesto el litghwindow en la entrada ppal... pero si lo incorporo me impide el enlace...
Tiene solución? Qué estoy haciendo mal? XD!
(perdón por los errores de tipeo, ya de ver la plantilla por dentro, e insistir e insistir me duelen los ojos)
Ya estaaaaaaaaaaaaaaaaaaaaaaaaá!
Dioses con la diferencias en las plantillas!
Pero logré cambiar varias cuestiones y los comentarios salieron. :)
Mis saludos........Sr.
Las plantillas tienen diferencias que pueden ser enormes pero, hay una solución para todas: hay que ser muy pero muy pero muy cabezadura e insistir :D
Me alegro que se arreglara :)
Muy buen aporte!!!!
Hay que ser bastante terco para poder lograr buenos resultados pero valen la pena,
Tu explicación es excelente, aunque mi plantilla es muy distinta, me guio y pude cambier esa palabra"comments"
gracias mil...
Chismosos:
Todo es cuestión de paciencia :D
Master creo que falto en el text-transform, una opcion que tambien podemos usar en blogger:
text-transform: capitaliemostrará solo en mayúsculas el primer carácter de la frase o titulo.
Eso creo ;)
PD. el otro formulario de contacto no funciona así que estoy usando el pop-up, ¡que raro! bueno ya es normal. Lo molestare para algunos comentarios vía mail dentro de poco Master.
¿text-transform: capitalize? ¿No está en la lista?
Lo del formulario de comentarios es lo más normal del mundo, lo raro es que funcione :D
:$
No Master me refería a:
text-transform: capitalieque muestra en mayúscula solo la primera letra de la frase.
No se si será funcional pero es distinto al Capitalize
Justamente capitalize hace eso que dices, no veo que capitalie esté descripta como propiedad CSS, ¿no será un error de sintaxis?
Muchas gracias. Tu blog me ha ayudado mucho.
Un saludo.
Saludos, sav, me alegro que sirviera :)
Holas Gran JMiur esta es mi 2 consulta que le hago, en todo este tiempo que llevo leyendo tu web.
Todos los dias a eso de las 12:30 am entro a tu web, digamos que en mi hora de descanzo y me pongo a leer muchas cosas interesantes tuyas que quiero implementar en mi web, y me doy cuenta que necesito dar paso por pasito, asi que ire con mi consulta si
Me gustaria tener esa manera que tu muestras tus comentarios enumerados en el post, eh intendado seguir el codigo que muestras aca, el 1 bloque lo encontre:
includable comments / post
......
pero cuando voy para el 2 bloque:
span class='post-comment-link'
...
...
/span..
Ese que aprece contneniendo un codio de color rojo
Simplemente no lo ubico y me dije: o mi plantilla no lo tiene o el script ah cambiado es que leo que esta entrada cuando lo hicistes databa del 15 de Noviembre del 2006 y puede que el script haya quedado en desuso, podrias ser tan amable de orientarme y como hacerlo, queiro implementar muchas cosas que veo aca pero quiero ir paso x paso y no pretender hacer una cosa no sale despues intentar otra cosa tampoco sale y asi perder tiempo , prefiero ir lento digamoslo asi pero haciendolos, algunas cosas si me han salido de tu web, pero otras como esta un poco desorientado aca te dejo el links de mi web para que tengas una idea de como es mi plantilla -->http://saccperuano.blogspot.com/
Espero que me puedas ayudar, recuerde es para enumerar mis comentarios en un post ;) desde ya gracias y saludos
Lo que quieres es que aparezca el número de orden de los comentarios al lado de cada uno de ellos? En ese caso, dados los cmabios recientes, mejor mira esta entrada donde está el código completo de esa parte y que incluye la posibilidad de ver los avatares. Es mejor cambiar toda esa parte por completo; es lo que hice yo para no emparchar cosas.
Digo esto porque tu plantlla usa un esquema distinto a las plantillas tradicionales y en ese caso, tendría que verla para encontrar las equivalenceias ya que es algo que no puede verse online en el código fuente.
Voy a ver cómo sale esto. Lo veo algo difícil, así que voy a seguir intentando. Gracias.
Hola, JMiur:
Me ha sido de mucha utilidad la información que ofreces en tu blog.
Mi plantilla no es de las clásicas que aparecen en Blogger, sino una adaptada. He intentado modificar "0 comentarios" siguiendo tus instrucciones, pero cuando quise previsualizar el resultado ¡Zuás!, desaparecieron absolutamente todos los textos de la parte central de la página.
Indudablemente, debo haber quitado algún código intocable o qué sé yo.
¿Podrías pasarte por mi sitio cuando tengas tiempo y revisas la plantilla de mi blog para orientarme en lo que debo hacer?
Blog Filosaletra en http://filosaletra.blogspot.com
Gracias
Filosaletra:
La plantilla no es algo que pueda verse online, allí los códigos de Blogger no son visibles.
¿Quiere dejar un comentario?
recuerde que los comentarios están siendo moderados y serán publicados a la brevedad ...
Nota: sólo los miembros de este blog pueden publicar comentarios.
Si le gusta ir a lo seguro utilice este botón para abrir los comentarios en una ventana modal en esta misma pagina.
Si añora tiempos idos, use este enlace para agregar un comentario al viejo estilo ...