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 %}
item
string
O nome da variável para a qual cada item será atribuído.
collection
array
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>
item
string
O nome da variável para a qual cada item será atribuído.
collection
array
O array ou coleção sobre o qual iterar.
cols
number
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>