Etichete de iterare
Etichetele de iterare sunt folosite pentru a rula/reda un bloc de cod în mod repetat.
pentru
Execută un bloc de cod în mod repetat. Sunt utilizate cel mai frecvent pentru a itera peste elementele dintr-o matrice sau dintr-un dicționar.
În cadrul blocului de etichete for este disponibil obiectul forloop.
Cod
{% for child_page in page.children %}
<a href={{ child_page.url }}>{{ child_page.title }}</a>
{% endfor %}
Ieșire
<a href=/parent/child1/>Child 1</a>
<a href=/parent/child2/>Child 2</a>
<a href=/parent/child3/>Child 3</a>
Parametri
Acești parametri de for pot fi utilizați individual sau în combinație.
limită
Iese din buclă după un anumit număr de elemente.
Cod
{% for child_page in page.children limit:2 %}
<a href={{ child_page.url }}>{{ child_page.title }}</a>
{% endfor %}
Ieșire
<a href=/parent/child1/>Child 1</a>
<a href=/parent/child2/>Child 2</a>
decalat
Începe bucla de la indexul dat.
Cod
{% for child_page in page.children offset:1 %}
<a href={{ child_page.url }}>{{ child_page.title }}</a>
{% endfor %}
Ieșire
<a href=/parent/child2/>Child 2</a>
<a href=/parent/child3/>Child 3</a>
interval
Definește o serie de numere pentru buclă.
Cod
{% assign n = 4 %}
{% for i in (2..n) %}
{{ i }}
{% endfor %}
{% for i in (10..14) %}
{{ i }}
{% endfor }}
Ieșire
2 3 4
10 11 12 14
inversat
Iterează prin buclă în ordine inversă, începând de la ultimul element.
Cod
{% for child_page in page.children reversed %}
<a href={{ child_page.url }}>{{ child_page.title }}</a>
{% endfor %}
Ieșire
<a href=/parent/child3/>Child 3</a>
<a href=/parent/child2/>Child 2</a>
<a href=/parent/child1/>Child 1</a>
ciclu
Creează o blucă printr-un grup de șiruri și le scoate în ordinea în care au fost trecute ca parametri. De fiecare dată când se utilizează ciclul, șirul următor care s-a transmis ca parametru este afișat.
Cod
{% for item in items %}
<div class={% cycle 'red', 'green', 'blue' %}> {{ item }} </div>
{% end %}
Ieșire
<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
Generează un tabel HTML. Trebuie să fie încadrat în etichete HTML de deschidere <table> și de închidere </table>.
În cadrul blocului de etichete tablerow, este disponibilă eticheta tablerowloop.
Cod
<table>
{% tablerow child_page in page.children %}
{{ child_page.title }}
{% endtablerow %}
</table>
Ieșire
<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
Acești parametri de tablerowcan pot fi utilizați individual sau în combinație.
Ieșire
<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>
Cod
<table>
{% tablerow child_page in page.children cols:2 %}
{{ child_page.title }}
{% endtablerow %}
</table>
Dictează câte rânduri ar trebui să aibă tabelul generat.
coloane
limită
Iese din buclă după un anumit număr de elemente.
Cod
<table>
{% tablerow child_page in page.children limit:2 %}
{{ child_page.title }}
{% endtablerow %}
</table>
Ieșire
<table>
<tr class=row1>
<td class=col1>
Child Page 1
</td>
<td class=col2>
Child Page 2
</td>
</tr>
</table>
offset
Începe bucla de la indexul dat.
Cod
<table>
{% tablerow child_page in page.children offset:2 %}
{{ child_page.title }}
{% endtablerow %}
</table>
Ieșire
<table>
<tr class=row1>
<td class=col1>
Child Page 3
</td>
<td class=col2>
Child Page 4
</td>
</tr>
</table>
interval
Definește o serie de numere pentru buclă.
Cod
<table>
{% tablerow i in (1..3) %}
{{ i }}
{% endtablerow %}
</table>