JMiur [E]

El contenido de una estructura widget simple es el siguiente:

<b:includable id='main'>
¿tiene un título?
<b:if cond='data:title != ""'>
si: mostrarlo
<h2 class='title'>
el texto del título
<data:title/>
</h2>
</b:if>
<div class='widget-content'>
el contenido en si mismo
<data:content/>
</div>
icono para edición rápida
<b:include name='quickedit'/>
</b:includable>
La instrucción INCLUDABLE

Cada widget debe contener una estructura includable con el atributo id='main'. Dentro de ella se escribe el código necesario para mostrar el elemento. Algunas, como POSTS y ARCHIVES contienen varias estructuras includable.
<b:includable id='main' var='nombre'>
.......
</b:includable>
donde:
id (obligatorio)
var (opcional) identificador para referenciar datos dentro de la sección
Otras instrucciones
<b:if cond=' condición'>
.......
<b:else/>
....... (opcional) .......
</b:if>
es una instrucción condicional donde:
cond (obligatoria) es la condición que puede ser una variable
o una expresión con operadores

<b:loop var='identificador' values='dato'>
.......
</b:loop>
ejecuta un bucle repitiendo el contenido de una sección de código
var (obligatorio) nombre
values tipo de dato
Un poco más complejo

Este es el contenido de una widget LIST:
<b:includable id='main'>
si tiene título lo muestra
<b:if cond='data:title'>
<h2><data:title/></h2>
</b:if>
<div class='widget-content'>
<ul>
bucle a través del contenido de los ítems de la lista
<b:loop values='data:items' var='item'>
<li><data:item/></li>
    </b:loop>
    </ul>
    icono para edición rápida
<b:include name='quickedit'/>
</div>
</b:includable>

si fuera una la lista de links, el bucle se haría a través de:
<b:loop values='data:links' var='link'>

y como se debe crear el vínculo, se utiliza algo como:
<a expr:href='data:link.target'><data:link.name/></a>
  • VER: Destripando la planilla (1ª parte)

5 comentarios:

Pablo  

Que lenguaje es este ?
Tenes idea como puedo hacer esto:

'b:if data:label.count > 3'
....
'/b:if'

Mi problema es que me dice que debo usar "=" y no me deja usar ">" (mayor) ¿ Que hago ? mi mail es italoarg76@yahoo.it por si queres responderme x ahi GRACIAS!!!

Responder
Pablo  

No pude poner los > ...porque no me los deja pastear!!

Responder
JMiur  

Primero que nada, la instrucción es:
<b:if cond='condicion'>

Segundo, no, no pueden usarse comparaciones de mayor o menor porque los símbolos < y > están reservados para identificar etiquetas.

Mi sistema es hacerlo a lo tonto y evaluar cada condición, por ejemplo:

<b:if cond=' data:label.count == 0'>
si no hay etiquetas
<b:else/>
<b:if cond=' data:label.count == 1'>
si sólo hay una etiqueta
<b:else/>
<b:if cond='data:label.count == 2'>
si hay dos etiquetas
<b:else/>
<b:if cond='data:label.count == 3'>
si hay tres etiquetas
<b:else/>
si hay más de tres etiquetas
</b:if>
</b:if>
</b:if>
</b:if>

Responder
Ikanus  

Hola JMiur ¿hay manera de "romper" un b:Loop?

Hasta ahora no he encontrado la forma. Ojala tu respuesta sea positiva :D.

Responder
JMiur  

No que yo sepa; no hay nada sementa a un break de algún otro tipo de lenguaje.

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