JMiur [E]

Suele ser común que pregunten por qué no funcionan ciertos códigos que vemos en la plantilla cuando se intenta agregarlos en un elemento HTML, en una entrada o incluso en alguna parte distinta de la misma plantilla. Esto, puede ser confuso si no se comprende cómo funciona un blog.

Hay una diferencia sustantiva entre eso que uno ve en la plantilla y el código fuente del sitio; es algo obvio si comparamos ambas cosas; en ambas veremos etiquetas que están delimitadas por los caracteres < y > pero, en la primera hay muchas de ellas que no son "comunes", es decir, que no son etiquetas HTML sino propias del Blogger; en cambio, en el código fuente, sólo veremos etiquetas HTML "normales".

La plantilla de un blog está formada por una serie de instrucciones que le damos al servidor para que "escriba" el código HTML de nuestro sitio. A diferencia de una página común, eso no lo hace el navegador sino que se ejecuta ANTES. Es el servidor (Blogger en este caso) el que interpreta y procesa esas instrucciones, arma la página y luego la envía al navegador para que este la muestre como pueda.

Que eso ocurra antes es lo que permite, por ejemplo, que una plantilla pueda ser condicionada; que ciertas cosas sean mostradas o no. Es una diferencia importante porque de ese modo, se evita la carga de códigos inútiles.

Si por ejemplo, yo quisiera ocultar la sidebar en una página estática, podría usar CSS poniendo algo como:
<!-- esto sólo se ejecutará en las páginas estáticas -->
<b:if cond='data:blog.pageType == "static_page"'>
  <style>
    #sidebar-wrapper { display: none; }
  </style>
</b:if>
Suponiendo que la sidebar de mi blog tuviera ese ID, el código fuente de mi página estática mostraría esto y, efectivamente, la sidebar estaría oculta :
<style>
  #sidebar-wrapper { display: none; }
</style>
Pero estaría allí. No la vería pero todo su contenido sería parte del código fuente y por lo tanto, cada cosa que tuviera agregada, sería cargada y ejecutada.

Por el contrario, usara un condicional inverso en TODO el código:
<!-- esto sólo se ejecutará en cualquier pa´gina que no sea una página estática -->
<b:if cond='data:blog.pageType != "static_page"'>
  <div id='sidebar-wrapper'>
    .......
  </div>
</b:if>
ese DIV, con toda la sidebar, no sólo no se vería en una página estática sino que tampoco sería parte del código fuente. Al interpretar nuestra plantilla, el servidor recibe la instruccíon de ignorar toda esa parte y por lo tanto, simplemente se la saltea y continua con el resto.

Esto mismo es lo que ocurre con el uso de ciertos códigos específicos que son todos aquellos que comienzan con <b: o con <data:

Todos ellos, son instrucciones o datos que se le da al servidor y se ejecutan ANTES de ver la página en el navegador. Todo eso que nosotros agregamos en un elemento HTML o en una entrada, se ejecuta DESPUES y no lo hace el servidor sino el navegador por lo tanto, si en un elemento HTML o una entrada, queremos usar alguna de esas cosas, no funcionará, será ignorado ya que el navegador, que es quien toma el control, no tiene la menor idea de qué significan ya que desconoce ese lenguaje.

Para complicar un poquito más las cosas, ciertos datos de Blogger, sólo son interpretados en determinados contextos.

Por ejemplo, <data:post.url/> nos dice cuál es la URL de una entrada pero, sólo es accesible dentro de un includable del elemento Blog y no afuera; es por eso que no podemos usar widgets o gadgets de Blogger en una entrada; de nada sirve copiar y pegar el código de la plantilla; el resultado será nulo.

15 comentarios:

Luis Kasanova  

Es interesante ver cómo es la estrategia que usan algunas plataformas para expresar sus contenidos.

En estos momentos se me viene una duda al respecto, Wordpress utiliza una misma metodología sólo que el lenguaje entre plantilla-servidor sí sería único, no?

Responder
JMiur  

WordPress funciona con PHP que es un lenguaje diferente y estandarizado pero, que también es ejecutado en el servidor que es quien crea el código HTML que se envia al navegador.

Por eso, por ejemplo, en un post de WordPress tampoco podrías incluir códigos en PHP a menos que agregaras algún plugin de alguna clase para modificar el sistema.

Responder
AlbaFoto  

Una preguntilla ¿como se podría poner un listado de blogs(el de blogger mismo) en una página? es algo que intento y no puedo... muchas gracias...


mi blog es....http://albacete-fotos.blogspot.com/

hasta proto

Responder
JMiur  

Lo que inenta explicar esta entrada es justamente que eso es algo que no se puede hacer.

Responder
Karla Castañeda  

JMiur,

No se si pase con todos pero, a mi no me funciona el editor de Blogger, ni siquiera en Blogger in Draft...

Quise probar la nueva funcionalidad de agregar un enlace al widget de las páginas estáticas, y taraaaan! magia...!, me desapareció todos los enlaces que ya tenía en el widgtet (que es el menu del top)....

Tenía uno que agregue manualmente, no se si eso fue la causa, y habrá que probarlo...

Qué tal?

Responder
JMiur  

Karla:
No lo he notado porque no lo he estado usando pero, varias personas me han comentado que hoy les han ocurrido cosas similares así que parecería que puede ser un problema del mismo Blogger.

Responder
La hormiguita  

Buenísimo :)gracias
lo de bloger es también PHP?

Responder
JMiur  

No. Blogger no usa PHP en las plantillas.

Responder
Anónimo  

Hola... Entonces Blogger es un lenguaje único, patentado, de uso exclusivo de Google?

Responder
JMiur  

Toda etiqueta que comience con <b: es privativa de Blogger. Es algo normal y en muchos servicios de blogs se utilizan etiquetas similares, exclusivas de esos servicios.

Responder
Unknown  

Estaria bueno que pusieras un tuto de como subir los blogs a un server.
Ya que quiero hacerlo y nose bien como es.

Responder
JMiur  

¿Subir el blog a un server? ¿Qué quieres decir con eso?

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