Tag di iterazione
I tag di iterazione sono utilizzati per eseguire il rendering di un blocco del codice ripetutamente.
per
Esegue un blocco di codice ripetutamente. È utilizzato più comunemente per scorrere gli elementi in una matrice o un dizionario.
Nel blocco di tag for è disponibile l'oggetto forloop.
Codice
{% for child_page in page.children %}
<a href={{ child_page.url }}>{{ child_page.title }}</a>
{% endfor %}
Output
<a href=/parent/child1/>Child 1</a>
<a href=/parent/child2/>Child 2</a>
<a href=/parent/child3/>Child 3</a>
Parametri
Questi parametri di for possono essere utilizzati da soli o in combinazione.
limit
Esce dal ciclo dopo un numero specificato degli elementi.
Codice
{% for child_page in page.children limit:2 %}
<a href={{ child_page.url }}>{{ child_page.title }}</a>
{% endfor %}
Output
<a href=/parent/child1/>Child 1</a>
<a href=/parent/child2/>Child 2</a>
offset
Avvia il loop in un indica specificato.
Codice
{% for child_page in page.children offset:1 %}
<a href={{ child_page.url }}>{{ child_page.title }}</a>
{% endfor %}
Output
<a href=/parent/child2/>Child 2</a>
<a href=/parent/child3/>Child 3</a>
range
Definisce un intervallo di numeri per eseguire il ciclo.
Codice
{% assign n = 4 %}
{% for i in (2..n) %}
{{ i }}
{% endfor %}
{% for i in (10..14) %}
{{ i }}
{% endfor }}
Output
2 3 4
10 11 12 14
reversed
Ripete il ciclo in ordine inverso, a partire dall'ultimo elemento.
Codice
{% for child_page in page.children reversed %}
<a href={{ child_page.url }}>{{ child_page.title }}</a>
{% endfor %}
Output
<a href=/parent/child3/>Child 3</a>
<a href=/parent/child2/>Child 2</a>
<a href=/parent/child1/>Child 1</a>
ciclo
Esegue il ciclo di un gruppo di stringhe e li emette nell'ordine in cui sono stati passati come parametri. Ogni volta che viene chiamato il ciclo, la stringa successiva che è stata passata come parametro è output.
Codice
{% for item in items %}
<div class={% cycle 'red', 'green', 'blue' %}> {{ item }} </div>
{% end %}
Output
<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
Genera una tabella HTML. Deve essere racchiuso tra un tag HTML <table> di apertura e </table> di chiusura.
Nel blocco di tag tablerow, è disponibile tablerowloop.
Codice
<table>
{% tablerow child_page in page.children %}
{{ child_page.title }}
{% endtablerow %}
</table>
Output
<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>
Parametri
Questi parametri di tablerowcan possono essere utilizzati da soli o in combinazione.
Output
<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>
Codice
<table>
{% tablerow child_page in page.children cols:2 %}
{{ child_page.title }}
{% endtablerow %}
</table>
Indica le righe che dovrebbe avere la tabella generata.
cols
limit
Esce dal ciclo dopo un numero specificato degli elementi.
Codice
<table>
{% tablerow child_page in page.children limit:2 %}
{{ child_page.title }}
{% endtablerow %}
</table>
Output
<table>
<tr class=row1>
<td class=col1>
Child Page 1
</td>
<td class=col2>
Child Page 2
</td>
</tr>
</table>
offset
Avvia il loop in un indica specificato.
Codice
<table>
{% tablerow child_page in page.children offset:2 %}
{{ child_page.title }}
{% endtablerow %}
</table>
Output
<table>
<tr class=row1>
<td class=col1>
Child Page 3
</td>
<td class=col2>
Child Page 4
</td>
</tr>
</table>
range
Definisce un intervallo di numeri per eseguire il ciclo.
Codice
<table>
{% tablerow i in (1..3) %}
{{ i }}
{% endtablerow %}
</table>