Lo que desea hacer es que un widget específico se muestre en tres entradas y sólo en esas tres entradas de su blog.
La solución es, tal como lo intentó, anidar las condiciones, es decir, poner una dentro de la otra; eso puede lograrse, sólo se requiere paciencia pero, aún cuando se consiga, se encontrará con un problema; deberá repetir TODO el código tres veces o crear tres widgets diferentes lo cual es, como mínimo, engorroso así que la idea es ver si es posible simplificarlo.
<b:if cond='data:blog.url == "http://misitio.blogspot.com/2010/04/entrada1.html"'>
.......
....... aquí colocaremos el código a ejecutar .......
.......
</b:if>
<b:if cond='data:blog.url == "http://misitio.blogspot.com/2010/04/entrada1.html"'>
.......
....... aquí colocaremos el código a ejecutar .......
.......
<b:else/>
<b:if cond='data:blog.url == "http://misitio.blogspot.com/2010/04/entrada2.html"'>
.......
....... aquí colocaremos el código a ejecutar por segunda vez .......
.......
</b:if>
</b:if>
<b:if cond='data:blog.url == "http://misitio.blogspot.com/2010/04/entrada1.html"'>
.......
....... aquí colocaremos el código a ejecutar .......
.......
<b:else/>
<b:if cond='data:blog.url == "http://misitio.blogspot.com/2010/04/entrada2.html"'>
.......
....... aquí colocaremos el código a ejecutar por segunda vez .......
.......
<b:else/>
<b:if cond='data:blog.url == "http://misitio.blogspot.com/2010/04/entrada3.html"'>
.......
....... y aquí colocaremos el código a ejecutar POR TERCERA VEZ.......
.......
</b:if>
</b:if>
</b:if>
Como las condiciones no pueden modificarse ya que no hay códigos que nos permitan simplificarlas, lo que podemos hacer es reducir ese código a ejecutar para no tener que escribirlo tres veces y eso sí es algo que Blogger nos permite porque tiene una instrucción específica llamada include que es la clave de todo esto; su sintaxis elemental es esta:
<b:include name='miContenido'/>
Lo que hace esto es INCLUIR cierto código que se encuentra en el mismo widget, un código que puede ser cualquier contenido y que debe estar colocado en una etiqueta especial llamada includable:
<b:includable id='miContenido'>
Traducido al español
<b:include name='miContenido'/> leerá e incluirá el contenido de <b:includable id='miContenido'> en alguna parte del widget.
Todo widget de Blogger tiene, como mínimo, una etiqueta includable cuyo ID es siempre el mismo, se llama main:
<b:includable id='main'>
.......
</b:includable>
<b:widget id='HTML6' locked='false' title='FRANKI' 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>
<b:widget id='HTML6' locked='false' title='FRANKI' type='HTML'>
<b:includable id='main'>
<b:include name='franki'/>
</b:includable>
<b:includable id='franki'>
<!-- 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>
Ahora, entonces, podemos condicionar los tres posts con las limitaciones del caso pero, sin repetir el código de los contenidos:
<b:widget id='HTML6' locked='false' title='FRANKI' type='HTML'>
<b:includable id='main'>
<b:if cond='data:blog.url == "http://misitio.blogspot.com/2010/04/entrada1.html"'>
<b:include name='franki'/>
<b:else/>
<b:if cond='data:blog.url == "http://misitio.blogspot.com/2010/04/entrada2.html"'>
<b:include name='franki'/>
<b:else/>
<b:if cond='data:blog.url == "http://misitio.blogspot.com/2010/04/entrada3.html"'>
<b:include name='franki'/>
</b:if>
</b:if>
</b:if>
</b:includable>
<b:includable id='franki'>
<!-- 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>
La plantilla Mínima, por ejemplo, tiene una definición como esta:
sidebar .widget, .main .widget {
border-bottom: 1px solid $bordercolor;
margin: 0 0 0.5em;
padding: 0 0 0.5em;
}
.main .widget {
.......
}
sidebar .widget {
.......
}
.sidebar div.widget-content {
.......
}
0 comentarios:
Publicar un comentario