Tags de iteração permitem executar blocos de código múltiplas vezes, o que é útil para trabalhar com coleções e arrays de dados.
for
Faz um loop sobre uma coleção de itens e executa um bloco de código para cada item.
{% for item in collection %}
// código a executar para cada item
{% endfor %}
O nome da variável para a qual cada item será atribuído.
O array ou coleção sobre o qual iterar.
{% assign fruits = "maçã,banana,laranja" | split: "," %}
<ul>
{% for fruit in fruits %}
<li>{{ fruit }}</li>
{% endfor %}
</ul>
<ul>
<li>maçã</li>
<li>banana</li>
<li>laranja</li>
</ul>
else
(para loops)
Executa um bloco de código se a coleção sendo iterada estiver vazia.
{% for item in collection %}
// código a executar para cada item
{% else %}
// código a executar se a coleção estiver vazia
{% endfor %}
{% assign items = "" | split: "," %}
<ul>
{% for item in items %}
<li>{{ item }}</li>
{% else %}
<li>Nenhum item encontrado</li>
{% endfor %}
</ul>
<ul>
<li>Nenhum item encontrado</li>
</ul>
break
Para a execução de um loop for.
{% for item in collection %}
{% if condition %}
{% break %}
{% endif %}
// código a executar para cada item
{% endfor %}
{% assign numbers = "1,2,3,4,5" | split: "," %}
<ul>
{% for num in numbers %}
{% if num == "3" %}
{% break %}
{% endif %}
<li>{{ num }}</li>
{% endfor %}
</ul>
<ul>
<li>1</li>
<li>2</li>
</ul>
continue
Pula a iteração atual de um loop for.
{% for item in collection %}
{% if condition %}
{% continue %}
{% endif %}
// código a executar para cada item
{% endfor %}
{% assign numbers = "1,2,3,4,5" | split: "," %}
<ul>
{% for num in numbers %}
{% if num == "3" %}
{% continue %}
{% endif %}
<li>{{ num }}</li>
{% endfor %}
</ul>
<ul>
<li>1</li>
<li>2</li>
<li>4</li>
<li>5</li>
</ul>
cycle
Cicla através de um conjunto de valores e retorna um valor a cada vez que a tag é processada.
{% for item in collection %}
{% cycle value1, value2, value3 %}
{% endfor %}
<table>
{% for i in (1..4) %}
<tr class="{% cycle 'odd', 'even' %}">
<td>Linha {{ i }}</td>
</tr>
{% endfor %}
</table>
<table>
<tr class="odd">
<td>Linha 1</td>
</tr>
<tr class="even">
<td>Linha 2</td>
</tr>
<tr class="odd">
<td>Linha 3</td>
</tr>
<tr class="even">
<td>Linha 4</td>
</tr>
</table>
tablerow
Cria uma tabela HTML com os itens da sua coleção.
<table>
{% tablerow item in collection cols:number %}
// código a executar para cada item
{% endtablerow %}
</table>
O nome da variável para a qual cada item será atribuído.
O array ou coleção sobre o qual iterar.
O número de colunas na tabela.
{% assign items = "maçã,banana,laranja,uva,melão,kiwi" | split: "," %}
<table>
{% tablerow item in items cols:2 %}
{{ item }}
{% endtablerow %}
</table>
<table>
<tr>
<td>maçã</td>
<td>banana</td>
</tr>
<tr>
<td>laranja</td>
<td>uva</td>
</tr>
<tr>
<td>melão</td>
<td>kiwi</td>
</tr>
</table>