Etiquetas de iteración
As etiquetas de iteración utilízanse para executar ou procesar un bloque de código repetidamente.
de
Executa un bloque de código repetidamente. Utilízase normalmente para iterar os elementos nunha matriz ou dicionario.
No bloque de etiquetas, o obxecto forloop está dispoñible.
Código
{% for child_page in page.children %}
<a href={{ child_page.url }}>{{ child_page.title }}</a>
{% endfor %}
Saída
<a href=/parent/child1/>Child 1</a>
<a href=/parent/child2/>Child 2</a>
<a href=/parent/child3/>Child 3</a>
Parámetros
Estes parámetros de para pódense utilizar sós ou en combinación.
límite
Sae do bucle despois dun número determinado de elementos.
Código
{% for child_page in page.children limit:2 %}
<a href={{ child_page.url }}>{{ child_page.title }}</a>
{% endfor %}
Saída
<a href=/parent/child1/>Child 1</a>
<a href=/parent/child2/>Child 2</a>
compensación
Inicia o bucle nun determinado índice.
Código
{% for child_page in page.children offset:1 %}
<a href={{ child_page.url }}>{{ child_page.title }}</a>
{% endfor %}
Saída
<a href=/parent/child2/>Child 2</a>
<a href=/parent/child3/>Child 3</a>
intervalo
Define un intervalo de números para repetir.
Código
{% assign n = 4 %}
{% for i in (2..n) %}
{{ i }}
{% endfor %}
{% for i in (10..14) %}
{{ i }}
{% endfor }}
Saída
2 3 4
10 11 12 14
invertido
Repítese polo bucle en orde inversa, comezando polo último elemento.
Código
{% for child_page in page.children reversed %}
<a href={{ child_page.url }}>{{ child_page.title }}</a>
{% endfor %}
Saída
<a href=/parent/child3/>Child 3</a>
<a href=/parent/child2/>Child 2</a>
<a href=/parent/child1/>Child 1</a>
cycle
Repítese nun grupo de cadeas e xéraos na orde en que se pasaron como parámetros. Cda vez que se chama un ciclo, xérase a cadea seguinte que se pasou como parámetro.
Código
{% for item in items %}
<div class={% cycle 'red', 'green', 'blue' %}> {{ item }} </div>
{% end %}
Saída
<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>
tablerow
Xera un táboa HTML. Debe estar entre etiquetas HTML de abertura <táboa> e de peche </táboa>.
No bloque de etiquetas para tablerow, o tablerowloop está dispoñible.
Código
<table>
{% tablerow child_page in page.children %}
{{ child_page.title }}
{% endtablerow %}
</table>
Saída
<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ámetros
Estes parámetros de tablerowcan pódense utilizar sós ou en combinación.
Saída
<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>
Código
<table>
{% tablerow child_page in page.children cols:2 %}
{{ child_page.title }}
{% endtablerow %}
</table>
Indica cantas filas debe ter a táboa xerada.
columnas
límite
Sae do bucle despois dun número determinado de elementos.
Código
<table>
{% tablerow child_page in page.children limit:2 %}
{{ child_page.title }}
{% endtablerow %}
</table>
Saída
<table>
<tr class=row1>
<td class=col1>
Child Page 1
</td>
<td class=col2>
Child Page 2
</td>
</tr>
</table>
offset
Inicia o bucle nun determinado índice.
Código
<table>
{% tablerow child_page in page.children offset:2 %}
{{ child_page.title }}
{% endtablerow %}
</table>
Saída
<table>
<tr class=row1>
<td class=col1>
Child Page 3
</td>
<td class=col2>
Child Page 4
</td>
</tr>
</table>
intervalo
Define un intervalo de números para repetir.
Código
<table>
{% tablerow i in (1..3) %}
{{ i }}
{% endtablerow %}
</table>