Etiquetes d’iteració
Les etiquetes d'iteració s'utilitzen per executar o representar un bloc de codi repetidament.
per al
Executa un bloc de codi repetidament. S'utilitza més habitualment per iterar sobre els elements d'una matriu o diccionari.
Al codi del bloc d'etiqueta, està disponible l'objecte forloop.
Codi
{% for child_page in page.children %}
<a href={{ child_page.url }}>{{ child_page.title }}</a>
{% endfor %}
Sortida
<a href=/parent/child1/>Child 1</a>
<a href=/parent/child2/>Child 2</a>
<a href=/parent/child3/>Child 3</a>
Paràmetres
Aquests paràmetres de for es poden utilitzar sols o junts.
límit
Tanca el bucle després d'un determinat nombre d'elements.
Codi
{% for child_page in page.children limit:2 %}
<a href={{ child_page.url }}>{{ child_page.title }}</a>
{% endfor %}
Sortida
<a href=/parent/child1/>Child 1</a>
<a href=/parent/child2/>Child 2</a>
offset
Comença el bucle en un índex determinat.
Codi
{% for child_page in page.children offset:1 %}
<a href={{ child_page.url }}>{{ child_page.title }}</a>
{% endfor %}
Sortida
<a href=/parent/child2/>Child 2</a>
<a href=/parent/child3/>Child 3</a>
gamma
Defineix un interval de números per iterar.
Codi
{% assign n = 4 %}
{% for i in (2..n) %}
{{ i }}
{% endfor %}
{% for i in (10..14) %}
{{ i }}
{% endfor }}
Sortida
2 3 4
10 11 12 14
Invertit
Itera el bucle en l'ordre invers, a partir del darrer element.
Codi
{% for child_page in page.children reversed %}
<a href={{ child_page.url }}>{{ child_page.title }}</a>
{% endfor %}
Sortida
<a href=/parent/child3/>Child 3</a>
<a href=/parent/child2/>Child 2</a>
<a href=/parent/child1/>Child 1</a>
cicle
Itera un grup de cadenes i sortides en l'ordre en què van passar com a paràmetres. Cada cicle de temps s'anomena, la següent cadena que va passar com un paràmetre és el resultat.
Codi
{% for item in items %}
<div class={% cycle 'red', 'green', 'blue' %}> {{ item }} </div>
{% end %}
Sortida
<div class=red> Item one </div>
<div class=green> Item two </div>
<div class=blue> Item three </div>
<div class=red> Item four </div>
<div class=green> Item five</div>
fila de la taula
Genera una taula HTML. Ha d'estar envoltada en etiquetes HTML d'una <taula> d'obertura i una </taula> de tancament.
Al codi de l'etiqueta tablerow, està disponible tablerowloop.
Codi
<table>
{% tablerow child_page in page.children %}
{{ child_page.title }}
{% endtablerow %}
</table>
Sortida
<table>
<tr class=row1>
<td class=col1>
Child Page 1
</td>
<td class=col2>
Child Page 2
</td>
<td class=col3>
Child Page 3
</td>
<td class=col4>
Child Page 4
</td>
</tr>
</table>
Paràmetres
Aquests paràmetres de tablerow es poden utilitzar sols o junts.
Sortida
<table>
<tr class=row1>
<td class=col1>
Child Page 1
</td>
<td class=col2>
Child Page 2
</td>
</tr>
<tr class=row2>
<td class=col3>
Child Page 3
</td>
<td class=col4>
Child Page 4
</td>
</tr>
</table>
Codi
<table>
{% tablerow child_page in page.children cols:2 %}
{{ child_page.title }}
{% endtablerow %}
</table>
Dicta quantes files ha de tenir la taula generada.
Cols
límit
Tanca el bucle després d'un determinat nombre d'elements.
Codi
<table>
{% tablerow child_page in page.children limit:2 %}
{{ child_page.title }}
{% endtablerow %}
</table>
Sortida
<table>
<tr class=row1>
<td class=col1>
Child Page 1
</td>
<td class=col2>
Child Page 2
</td>
</tr>
</table>
offset
Comença el bucle en un índex determinat.
Codi
<table>
{% tablerow child_page in page.children offset:2 %}
{{ child_page.title }}
{% endtablerow %}
</table>
Sortida
<table>
<tr class=row1>
<td class=col1>
Child Page 3
</td>
<td class=col2>
Child Page 4
</td>
</tr>
</table>
gamma
Defineix un interval de números per iterar.
Codi
<table>
{% tablerow i in (1..3) %}
{{ i }}
{% endtablerow %}
</table>