Функция cycle
Функция cycle принимает массив значений и возвращает их по очереди при каждом новом вызове. Первым параметром передаётся массив значений, вторым - позиция в цикле. Функция удобна для чередования классов, цветов и других значений внутри цикла for.
Синтаксис
{{ cycle(array, position) }}
Пример
Давайте выведем значения массива по очереди:
{{ cycle(['a', 'b', 'c'], 0) }}
{{ cycle(['a', 'b', 'c'], 1) }}
{{ cycle(['a', 'b', 'c'], 2) }}
{{ cycle(['a', 'b', 'c'], 3) }}
Результат выполнения кода:
a
b
c
a
Пример
Давайте используем функцию внутри цикла for для чередования классов:
{% for item in ['article', 'user', 'hello'] %}
<div class="{{ cycle(['odd', 'even'], loop.index0) }}">
{{ item }}
</div>
{% endfor %}
Результат выполнения кода:
<div class="odd">
article
</div>
<div class="even">
user
</div>
<div class="odd">
hello
</div>