Теги ітерації
Теги ітерації використовуються для багаторазового запуску/відтворення блоку коду.
для
Багаторазово виконує блок коду. Вони найчастіше використовуються для виконання ітерації над елементами в масиві або словнику.
В рамках блоку тегу "для", доступний об’єкт forloop.
Код
{% for child_page in page.children %}
<a href={{ child_page.url }}>{{ child_page.title }}</a>
{% endfor %}
Вихідний -файл
<a href=/parent/child1/>Child 1</a>
<a href=/parent/child2/>Child 2</a>
<a href=/parent/child3/>Child 3</a>
Параметри
Ці параметри "для" можуть бути використані окремо або в комбінації.
межа
Виходить з петлі після заданої кількості елементів.
Код
{% for child_page in page.children limit:2 %}
<a href={{ child_page.url }}>{{ child_page.title }}</a>
{% endfor %}
Вихідний -файл
<a href=/parent/child1/>Child 1</a>
<a href=/parent/child2/>Child 2</a>
різниця
Починає петлю на вказаному показнику.
Код
{% for child_page in page.children offset:1 %}
<a href={{ child_page.url }}>{{ child_page.title }}</a>
{% endfor %}
Вихідний -файл
<a href=/parent/child2/>Child 2</a>
<a href=/parent/child3/>Child 3</a>
діапазон
Визначає діапазон чисел для повтору циклу.
Код
{% assign n = 4 %}
{% for i in (2..n) %}
{{ i }}
{% endfor %}
{% for i in (10..14) %}
{{ i }}
{% endfor }}
Вихідний -файл
2 3 4
10 11 12 14
обернено
Виконує ітерацію крізь цикл у зворотному порядку, починаючи з останнього елемента.
Код
{% for child_page in page.children reversed %}
<a href={{ child_page.url }}>{{ child_page.title }}</a>
{% endfor %}
Вихідний -файл
<a href=/parent/child3/>Child 3</a>
<a href=/parent/child2/>Child 2</a>
<a href=/parent/child1/>Child 1</a>
цикл
Повторюється через групу рядків і виводить їх у порядку, в якому вони були передані як параметри. Кожного разу, коли викликається цикл, виводиться наступний рядок, який був прийнятий як параметр.
Код
{% for item in items %}
<div class={% cycle 'red', 'green', 'blue' %}> {{ item }} </div>
{% end %}
Вихідний -файл
<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
Генерує HTML-таблицю. Повинні бути загорнуті на початку <table> і в кінці </table> HTML-тегів.
В рамках блоку тегу "tablerow", доступно tablerowloop.
Код
<table>
{% tablerow child_page in page.children %}
{{ child_page.title }}
{% endtablerow %}
</table>
Вихідний -файл
<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>
Параметри
Ці параметри tablerowcan можуть бути використані окремо або в комбінації.
Вихідний -файл
<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>
Код
<table>
{% tablerow child_page in page.children cols:2 %}
{{ child_page.title }}
{% endtablerow %}
</table>
Диктує, скільки рядків повинні мати згенеровані таблиці.
стовпчики
межа
Виходить з петлі після заданої кількості елементів.
Код
<table>
{% tablerow child_page in page.children limit:2 %}
{{ child_page.title }}
{% endtablerow %}
</table>
Вихідний -файл
<table>
<tr class=row1>
<td class=col1>
Child Page 1
</td>
<td class=col2>
Child Page 2
</td>
</tr>
</table>
offset
Починає петлю на вказаному показнику.
Код
<table>
{% tablerow child_page in page.children offset:2 %}
{{ child_page.title }}
{% endtablerow %}
</table>
Вихідний -файл
<table>
<tr class=row1>
<td class=col1>
Child Page 3
</td>
<td class=col2>
Child Page 4
</td>
</tr>
</table>
діапазон
Визначає діапазон чисел для повтору циклу.
Код
<table>
{% tablerow i in (1..3) %}
{{ i }}
{% endtablerow %}
</table>