Condicionales b:if globales de Blogger

code-rel

Para diseñar o modificar una plantilla de blogger, en muchas ocasiones nos surge la necesidad de tener el control sobre lo que queremos mostrar y lo que no, y es aquí donde las condicionales juegan un papel importante..

En esta entrada hablaremos de una serie de condicionales, que son muy útiles en la creación o modificación de una plantilla para Blogger, todas se pueden usar en cualquier parte del documento XML.

Condiciones para el tipo de Página

Se usan para mostrar u ocultar contenido dependiendo del tipo de página.

Comprueba si es la página principal, página de busqueda, página de etiquetas, o página de archivo:

<b:if cond='data:blog.pageType == "index"'>
   <!--Contenido que se mostrará en el index-->
</b:if>

Comprueba si es una entrada:

<b:if cond='data:blog.pageType == "item"'>
   <!--Contenido que se mostrará en una entrada-->
</b:if>

Comprueba si es una página estática:

<b:if cond='data:blog.pageType == "static_page"'>
   <!--Contenido que se mostrará en una página estática-->
</b:if>

Comprueba si es el Error 404:

<b:if cond='data:blog.pageType == "error_page"'>
   <!--Contenido que se mostrará en la página no encontrada-->
</b:if>

Condiciones para una página específica del index

La condición data:blog.pageType == "index" afecta a la página principal, página de búsqueda, página de etiquetas y página de archivo, pero las siguientes condiciones sólo afectan a una en concreto.

Comprueba si es la página inicio:

<b:if cond='data:blog.url == data:blog.canonicalHomepageUrl'>
   <!--Contenido que se mostrará solo en la página de inicio-->
</b:if>

Comprueba si es la página de archivo:

<b:if cond='data:blog.pageType == "archive"'>
   <!--Contenido que se mostrará en el archivo del blog-->
</b:if>

Comprueba si es la página de búsqueda:

<b:if cond='data:blog.searchQuery'>
   <!--Contenido que se mostrará solo en la página de búsqueda-->
</b:if>

Comprueba si es la página de etiquetas:

<b:if cond='data:blog.searchLabel'>
   <!--Contenido que se mostrará solo en la página de etiquetas-->
</b:if>

Condiciones para una página o entrada específica

Esta condición sólo muestra el contenido si la url coincide con la del navegador. Si tu dominio no es personalizado utiliza el dominio global: ejemplo.blogspot.com, sin ninguna extension por país, de lo contrario no funcionará.

Comprueba si la url actual es igual a ejemplo.com/p/entrada.html:

<b:if cond='data:blog.canonicalUrl == "http://ejemplo.com/p/entrada.html"'>
  <!--Contenido que se mostrará solo en la url indicada-->
</b:if>

La condición anterior deja de funcionar si el dominio del blog es modificado. Por eso nos resulta mejor condicionar una entrada o una página en concreto mediante su ID, la cual es única y no deja de funcionar por mucho que cambiemos de dominio.

Comprueba si la ID de la página actual es 1422EJEMPLO:

<b:if cond='data:blog.pageId == "1422EJEMPLO"'>
  <!--Contenido que se mostrará si la ID coincide con la página estática-->
</b:if>

Comprueba si la ID de la entrada es 7243EJEMPLO:

<b:if cond='data:blog.postId == "7243EJEMPLO"'>
  <!--Contenido que se mostrará si la ID coincide con la entrada-->
</b:if>

Pero... ¿Donde encontramos la ID?, es muy sencillo, al crear/editar una entrada o página estática, la podemos encontrar en la barra de direcciones del navegador.

https://www.blogger.com/blogger.g?blogID=9197#editor/target=post;postID=1422EJEMPLO;onPubli...

Como ya lo hablamos en la primera entrada que publiqué sobre las condicionales b:if, podemos hacer que todas validen lo contrario, si la comparación la hacemos mediante "!=" que significa "NO es igual a":

<b:if cond='data:blog.pageType != "index"'>
   <!--Se mostrará en todo el blog menos en el index-->
</b:if>

Las etiquetas data que devuelven "verdadero" sin realizar ninguna comparación, las podemos invertir agregando "!" al inicio de la condición:

<b:if cond='!data:blog.searchLabel'>
   <!--Se mostrará en todo el blog menos en la página de etiquetas-->
</b:if>

Espero que esto les sea de mucha ayuda en sus modificaciones. Si Blogger realiza cambios o mejoras en el codigo actualizaré la entrada. ¡Éxitos 100%!

0 comentarios: