Los condicionales de Blogger

Es posible que en determinadas ocasiones deseemos que el contenido que se muestra en Blogger varíe de una página a otra.
Por ejemplo, mostrar determinadas widgets en unas páginas sí y otras no, mostrar u ocultar publicidad de Adsense dependiendo de si la página es un post en particular, la página principal, todas las páginas estáticas o algunas en especial.
Podemos querer personalizar determinado post dándole un diseño diferente, cambiarle el color, la letra o la diagramación.
Podemos querer ocultar o mostrar la barra de menú lateral según estemos en la home o en páginas interiores, entre muchas posibilidades más.

Blogger por defecto nos da la posibilidad de diseñar desde la plantilla las características globales de nuestro blog, pero estas se repetirán siempre.

¿Cómo hacer que determinada página se muestre diferente a las demás?

La solución es bastante sencilla, debemos usar los condicionales de Blogger, que nos permiten saber en qué página estamos, y así poder agregar las modificaciones deseadas.

No está de más explicitar que para hacer cambios en la plantilla es necesario tener cierto conocimiento del código, para saber dónde queremos intervenir.
Si deseamos modificar el aspecto del menú lateral, debemos ser capaces de reconocer en dónde están las líneas de código que lo definen.
Si en cambio queremos personalizar un post en particular, hay que saber qué sector de la plantilla es el correcto.
Sería tedioso detallar cada sector en este post, ya que no es la idea, de hecho hay excelentes blogs dedicados a ayudarnos a identificar cada parte del código de manera muy pormenorizada, por mencionar uno de mis preferidos, Vagabundia.
Lo que no está nunca de más es reiterar que antes de hacer cambios en la plantilla es conveniente respaldarla, y así evitarnos algún dolor de cabeza.

Una vez que sabemos donde queremos intervenir, deberemos colocar allí un condicional, y dentro de éste el código que deseamos ejecutar.

Los condicionales en Blogger tienen la siguiente esctructura:
<b:if cond='CONDICIÓN_QUE_DEBE_CUMPLIRSE'>
Código a ejecutar
</b:if>


En caso de un condicional doble, la forma será:
<b:if cond='CONDICIÓN_QUE_DEBE_CUMPLIRSE'>
CÓDIGO 1 A EJECUTAR SI SE CUMPLE
<b:else/>
CÓDIGO 2 A EJECUTAR SI NO SE CUMPLE
</b:if>


Imaginemos que deseamos que una widget aparezca en una página en especial, pero no en las demás.
Deberemos seleccionar en qué páginas deseamos que aparezca, y poner esta página como condición a cumplirse.

Así, si deseamos que la widget del ejemplo aparezca únicamente en la home, el código tendrá esta forma:
<b:if cond='data:blog.url == data:blog.homepageUrl'>
CÓDIGO DE LA WIDGET
</b:if>


Si en cambio deseamos que aparezca en todas las páginas del blog, excepto la home, el código cambiará los caracteres "==" por "!=", y quedará:
<b:if cond='data:blog.url != data:blog.homepageUrl'>
CÓDIGO DE LA WIDGET
</b:if>


La primera línea de código es entonces la que variará según la página que deseemos usar en el condicional.
A continuación vemos cómo quedaría esa línea según la página en la que ejecutar el código.

Ya vimos que para la Home es:
<b:if cond='data:blog.url == data:blog.homepageUrl'>

Para las páginas de índice de Blogger (home, página de etiquetas y archivo por año):
<b:if cond='data:blog.pageType == "index"'>

Para todas la páginas de los posts:
<b:if cond='data:blog.pageType == "item"'>

Para todas las páginas estáticas:
<b:if cond='data:blog.pageType == "static_page"'>

Para todas las páginas de archivo:
<b:if cond='data:blog.pageType == "archive"'>

Y por último, para una página individual cualquiera:
<b:if cond='data:blog.url == "http://URL_DE_LA_PAGINA"'>

En lo personal he utilizado estos condicionales en diferentes ocasiones: para incluir widgets con links diferentes según la página, para modificar el aspecto de algún post en especial, y para agregar publicidad de Adsense únicamente en ciertas páginas de mayor tráfico, dejando el resto del sitio limpio de publicidad.
Pero seguramente los usos posibles son mucho más variados dependiendo de las necesidades e imaginación de cada usuario.

2 comentarios en "Los condicionales de Blogger"

David

¿Crees que seria posible usar el condicional para que ejecutara uncódigo en todos los posts de una fecha determinada?

obat pembesar penis

Gracias por el post, a mi lo que me preocupan son las penalizacines.