Cómo mostrar un gadget solo en la portada de Blogger
En algunas ocasiones puede ser útil que un gadget aparezca únicamente en la página principal de tu blog y permanezca oculto en las entradas individuales.
Por ejemplo, puedes utilizar este método para mostrar un banner de bienvenida, un formulario de suscripción, un anuncio, un mensaje promocional o cualquier otro contenido que solo tenga sentido en la portada.
Blogger permite hacerlo con una sencilla condición dentro del código del gadget.
Localiza el gadget
Entra en:
Tema → Editar HTML
Después utiliza la opción Ir al widget para localizar el gadget que deseas modificar.
Su estructura será similar a esta:
<b:widget id='HTML1' locked='false' title='Gadget' type='HTML'>
<b:includable id='main'>
<!-- only display title if it's non-empty -->
<b:if cond='data:title != ""'>
<h2 class='title'><data:title/></h2>
</b:if>
<div class='widget-content'>
<data:content/>
</div>
<b:include name='quickedit'/>
</b:includable>
</b:widget>
Agrega la condición para la portada
Justo después de:
<b:includable id='main'>
agrega la siguiente línea:
<b:if cond='data:blog.homepageUrl == data:blog.url'>
Y justo antes de:
</b:includable>
agrega el cierre de la condición:
</b:if>
El resultado será similar a este:
<b:widget id='HTML1' locked='false' title='Gadget' type='HTML'>
<b:includable id='main'>
<b:if cond='data:blog.homepageUrl == data:blog.url'>
<!-- only display title if it's non-empty -->
<b:if cond='data:title != ""'>
<h2 class='title'><data:title/></h2>
</b:if>
<div class='widget-content'>
<data:content/>
</div>
<b:include name='quickedit'/>
</b:if>
</b:includable>
</b:widget>
¿Qué hace esta condición?
La expresión:
data:blog.homepageUrl == data:blog.url
comprueba si la página actual corresponde a la portada del blog. Si la condición se cumple, Blogger muestra el contenido del gadget; en cualquier otra página, el gadget permanece oculto.
¿Puedo hacerlo con cualquier gadget?
Sí. Aunque cada tipo de gadget tiene una estructura ligeramente diferente, todos incluyen un bloque principal identificado por:
<b:includable id='main'>
Solo necesitas colocar la condición inmediatamente después de esa línea y cerrarla antes de </b:includable>.
Puedes repetir este procedimiento en todos los gadgets que quieras mostrar exclusivamente en la página principal de tu blog.
Una alternativa más sencilla en las plantillas modernas
Si tu plantilla utiliza la sintaxis moderna de Blogger (Widgets versión 2), puedes conseguir el mismo resultado de una forma mucho más simple, sin necesidad de envolver todo el contenido del gadget con una condición.
Solo agrega el atributo cond='data:view.isHomepage' directamente en la etiqueta <b:widget>.
Por ejemplo, si originalmente tienes:
<b:widget id='HTML9' locked='true' title='Hero destacado' type='HTML' version='2' visible='true'>
Solo debes modificarla así:
<b:widget cond='data:view.isHomepage' id='HTML9' locked='true' title='Hero destacado' type='HTML' version='2' visible='true'>
Con esa única modificación, el gadget solo se mostrará en la página principal del blog.
Esta opción es más fácil de mantener porque evita agregar bloques adicionales de código dentro del gadget y hace que la plantilla sea más limpia y legible.
cond='data:view.isHomepage'. Si, en cambio, estás modificando una plantilla antigua, la condición data:blog.homepageUrl == data:blog.url sigue siendo totalmente válida y compatible.
Una recomendación
Antes de modificar la plantilla, realiza una copia de seguridad del tema. Además, después de guardar los cambios, comprueba el resultado tanto en la portada como en una entrada individual para asegurarte de que el gadget aparece únicamente donde lo deseas.
Aún no hay comentarios, sé el primero en comentar.
Publicar un comentario