Partager via


Balises d’itération

Les balises d’itération servent à exécuter/afficher un bloc de code à plusieurs reprises.

pour

Exécute un bloc de code à plusieurs reprises. Il est plus couramment utilisé pour itérer sur les éléments d’un tableau ou d’un dictionnaire.

Dans le bloc de balise for, l’objet forloop est disponible.

Code

{% for child_page in page.children %}

<a href={{ child_page.url }}>{{ child_page.title }}</a>

{% endfor %}

Sortie

<a href=/parent/child1/>Child 1</a>

<a href=/parent/child2/>Child 2</a>

<a href=/parent/child3/>Child 3</a>

Paramètres

Les paramètres suivants de for peuvent être utilisés seuls ou en combinaison.

limit

Quitte la boucle après un nombre donné d’éléments.

Code

{% for child_page in page.children limit:2 %}

<a href={{ child_page.url }}>{{ child_page.title }}</a>

{% endfor %}

Sortie

<a href=/parent/child1/>Child 1</a>

<a href=/parent/child2/>Child 2</a>

offset

Démarre la boucle à un index donné.

Code

{% for child_page in page.children offset:1 %}

<a href={{ child_page.url }}>{{ child_page.title }}</a>

{% endfor %}

Sortie

<a href=/parent/child2/>Child 2</a>

<a href=/parent/child3/>Child 3</a>

range

Définit une plage de nombres dans laquelle effectuer une boucle.

Code

{% assign n = 4 %}

{% for i in (2..n) %}

{{ i }}

{% endfor %}

{% for i in (10..14) %}

{{ i }}

{% endfor }}

Sortie

2 3 4

10 11 12 14

reversed

Itère dans la boucle dans l’ordre inverse, en commençant par le dernier élément.

Code

{% for child_page in page.children reversed %}

<a href={{ child_page.url }}>{{ child_page.title }}</a>

{% endfor %}

Sortie

<a href=/parent/child3/>Child 3</a>

<a href=/parent/child2/>Child 2</a>

<a href=/parent/child1/>Child 1</a>

cycle

Effectue une boucle dans un groupe de chaînes et les génère dans leur ordre de transmission comme paramètres. Chaque fois que la balise cycle est appelée, la chaîne suivante transmise comme paramètre est générée.

Code

{% for item in items %}

<div class={% cycle 'red', 'green', 'blue' %}> {{ item }} </div>

{% end %}

Sortie

<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

Génère un tableau HTML. Doit être enveloppé dans des balises HTML <table> d’ouverture et </table> de fermeture.

Dans le bloc de balise tablerow, tablerowloop est disponible.

Code

<table>

{% tablerow child_page in page.children %}

{{ child_page.title }}

{% endtablerow %}

</table>

Sortie

<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>

Paramètres

Les paramètres suivants de tablerowcan peuvent être utilisés seuls ou en combinaison.

Sortie

<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>

Code

<table>

{% tablerow child_page in page.children cols:2 %}

{{ child_page.title }}

{% endtablerow %}

</table>

Indique le nombre de lignes que doit contenir le tableau généré.

cols

limit

Quitte la boucle après un nombre donné d’éléments.

Code

<table>

{% tablerow child_page in page.children limit:2 %}

{{ child_page.title }}

{% endtablerow %}

</table>

Sortie

<table>

<tr class=row1>

<td class=col1>

Child Page 1

</td>

<td class=col2>

Child Page 2

</td>

</tr>

</table>

offset

Démarre la boucle à un index donné.

Code

<table>

{% tablerow child_page in page.children offset:2 %}

{{ child_page.title }}

{% endtablerow %}

</table>

Sortie

<table>

<tr class=row1>

<td class=col1>

Child Page 3

</td>

<td class=col2>

Child Page 4

</td>

</tr>

</table>

range

Définit une plage de nombres dans laquelle effectuer une boucle.

Code

<table>

{% tablerow i in (1..3) %}

{{ i }}

{% endtablerow %}

</table>

Voir aussi