Поділитися через


Теги ітерації

Теги ітерації використовуються для багаторазового запуску/відтворення блоку коду.

для

Багаторазово виконує блок коду. Вони найчастіше використовуються для виконання ітерації над елементами в масиві або словнику.

В рамках блоку тегу "для", доступний об’єкт 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>

Див. також