JMiur [E]

El comentario de DeLarge2001 de El Zulo Corp me obligó a terminar este post que ya lleva varios días dando vueltas en mi PC. La idea es tratar de aportar alguna información respecto a la posibilidad de modificar los textos que Blogger Beta muestra en la plantilla.

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.

Yo diría que podemos encontrarnos con cuatro tipos de textos:

  • los literales, ESTÁN en la plantilla como tales
  • Personalizarlos es más o menos evidente, simplemente hay que buscarlos y cambiarlos. Es una tarea engorrosa porque los muy malditos tienden a "esconderse", pero, es cuestión de perseverar.

  • los que escribimos en alguna opción al INSERTAR/EDITAR UN ELEMENTO
  • Deberían ser más "normales", sin embargo, no siempre se resuelven correctamente, por ejemplo, el uso de singulares y plurales no es correcto, ni siquiera en inglés.

  • los predefinidos por Blogger mediante variables data
  • Como no todas están debidamente documentadas, son un problema. Hay que adivinar.

  • todos los demás
  • Son los que Blogger coloca por su cuenta. Vaya uno a saber dónde están. Mejor olvidarse de ellos.

    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
    En las widgets que generalmente se ubican en la columna lateral, LinkList, List, Image, HTML, etc. no hay textos predeterminados a excepción de <data:title/> que es el título que le damos al insertar el elemento (ahora lo han traducido como ARTILUGIO, pero me niego a usar esa palabra).

    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
    y basta eliminar las tres líneas para que no se muestre.

    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>

    NOTA: dependiendo del modelo de la plantilla original, el orden puede cambiar y, eventualmente, puede faltar alguno de ellos.
    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>
    donde data:feedLinksMsg contiene el texto (mensaje) que elegimos al crear el elemento.

    2. BACKLINKS (en las páginas de entradas individuales)
    <b:includable id='backlinks' var='post'>
    .......
    <h4><data:post.backlinksLabel/></h4>
    .......
    <data:post.createLinkLabel/>
    donde data:post.createLinkLabel y data:post.createLinkLabel son el título y el mensaje a mostrar en los vínculos de retroceso.

    3. NEWER/OLDER POSTS, HOME
    <b:includable id='nextprev>
    .......
    Home o bien <data:homeMsg/>
    .......
    <data:newerPageTitle/>
    .......
    <data:olderPageTitle/>
    .......
    CUIDADO: a veces , Blogger no acepta cambiarlos (es mi caso, por eso los he eliminado hasta entender qué ocurre).

    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/>
    .......
    Corresponden a los mensajes-vínculos al pie de cada entrada, autor, fecha, backlinks, labels y pueden ser eliminados o reemplazados por el texto que se nos ocurrra.
    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>
    donde data:post.numComments es la cantidad de comentarios, data:commentLabel es el mensaje a ser mostrado cuando sólo hay uno y data:commentLabelPlural es el mensaje cuando hay más de uno o ninguno.

    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:

    <h4>
    <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>

    en el mismo bloque hay un par de mensajes extras que también pueden personalizarse.
    <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>
    Por último, tenemos que ir al bloque principal b:includable id='post' var='post'> donde vamos a encontrar algo así:
    <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>
    que es similar al primero. Cambiamos las líneas marcadas en rojo por lo siguiente:

    <b:if cond='data:post.numComments == 0'>
    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>

    Explicación simple:

    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:

    Anónimo  

    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!!

    Responder
    JMiur  

    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.

    Responder
    Anónimo  

    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!

    Responder
    Anónimo  

    (perdón por los errores de tipeo, ya de ver la plantilla por dentro, e insistir e insistir me duelen los ojos)

    Responder
    Anónimo  

    Ya estaaaaaaaaaaaaaaaaaaaaaaaaá!
    Dioses con la diferencias en las plantillas!

    Pero logré cambiar varias cuestiones y los comentarios salieron. :)


    Mis saludos........Sr.

    Responder
    JMiur  

    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 :)

    Responder
    Anónimo  

    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...

    Responder
    JMiur  

    Chismosos:
    Todo es cuestión de paciencia :D

    Responder
    Claudio - Poca Tinta  

    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.

    Responder
    JMiur  

    ¿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

    Responder
    Claudio - Poca Tinta  

    :$
    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

    Responder
    JMiur  

    Justamente capitalize hace eso que dices, no veo que capitalie esté descripta como propiedad CSS, ¿no será un error de sintaxis?

    Responder
    sav  

    Muchas gracias. Tu blog me ha ayudado mucho.

    Un saludo.

    Responder
    JMiur  

    Saludos, sav, me alegro que sirviera :)

    Responder
    el cronista  

    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

    Responder
    JMiur  

    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.

    Responder
    Anónimo  

    Voy a ver cómo sale esto. Lo veo algo difícil, así que voy a seguir intentando. Gracias.

    Responder
    Liliana Fasciani M.  

    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

    Responder
    JMiur  

    Filosaletra:
    La plantilla no es algo que pueda verse online, allí los códigos de Blogger no son visibles.

    Responder

    ¿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 ...

     
    CERRAR