cycle
The cycle
function cycles on a sequence:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
{% set start_year = date() | date('Y') %}
{% set end_year = start_year + 5 %}
{% for year in start_year..end_year %}
{{ cycle(['odd', 'even'], loop.index0) }}
{% endfor %}
{# outputs
odd
even
odd
even
odd
even
#}
The cycle
function takes two arguments: the sequence
to cycle through and the position
in the sequence.
The sequence
must be non-empty and can contain any number of values:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
{% set fruits = ['apple', 'orange', 'citrus'] %}
{% for i in 0..10 %}
{{ cycle(fruits, i) }}
{% endfor %}
{# outputs
apple
orange
citrus
apple
orange
citrus
apple
orange
citrus
apple
orange
#}
Arguments
values
: The sequence to cycle onposition
: The position in the sequence