Compartir a través de


Etiquetas de iteración

Las etiquetas de iteración se usan para ejecutar/representar un bloque de código repetidamente.

for

Ejecuta un bloque de código repetidamente. Suele utilizarse para iterar los elementos en una matriz o un diccionario.

En el bloque de etiquetas, el objeto forloop está disponible.

Código

{% for child_page in page.children %}

<a href={{ child_page.url }}>{{ child_page.title }}</a>

{% endfor %}

Salida

<a href=/parent/child1/>Child 1</a>

<a href=/parent/child2/>Child 2</a>

<a href=/parent/child3/>Child 3</a>

Parámetros

Estos parámetros de for pueden utilizarse solos o en combinación.

limit

Sale del bucle después de un número determinado de elementos.

Código

{% for child_page in page.children limit:2 %}

<a href={{ child_page.url }}>{{ child_page.title }}</a>

{% endfor %}

Salida

<a href=/parent/child1/>Child 1</a>

<a href=/parent/child2/>Child 2</a>

offset

Inicia el bucle en un índice determinado.

Código

{% for child_page in page.children offset:1 %}

<a href={{ child_page.url }}>{{ child_page.title }}</a>

{% endfor %}

Salida

<a href=/parent/child2/>Child 2</a>

<a href=/parent/child3/>Child 3</a>

range

Define un intervalo de números para recorrer en bucle.

Código

{% assign n = 4 %}

{% for i in (2..n) %}

{{ i }}

{% endfor %}

{% for i in (10..14) %}

{{ i }}

{% endfor }}

Salida

2 3 4

10 11 12 14

reversed

Itera a través del bucle en orden inverso, empezando por el último elemento.

Código

{% for child_page in page.children reversed %}

<a href={{ child_page.url }}>{{ child_page.title }}</a>

{% endfor %}

Salida

<a href=/parent/child3/>Child 3</a>

<a href=/parent/child2/>Child 2</a>

<a href=/parent/child1/>Child 1</a>

cycle

Recorre en bucle un grupo de cadenas y los extrae en el orden en que se pasaron como parámetros. Cada vez que se llamada a un ciclo, se extrae la siguiente cadena que se pasó como parámetro.

Código

{% for item in items %}

<div class={% cycle 'red', 'green', 'blue' %}> {{ item }} </div>

{% end %}

Salida

<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

Genera una tabla HTML. Debe ir entre etiquetas HTML <table> de apertura y </table> de cierre.

En el bloque de etiquetas tablerow, el tablerowloop está disponible.

Código

<table>

{% tablerow child_page in page.children %}

{{ child_page.title }}

{% endtablerow %}

</table>

Salida

<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>

Parámetros

Estos parámetros de tablerow pueden utilizarse solos o en combinación.

Salida

<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>

Código

<table>

{% tablerow child_page in page.children cols:2 %}

{{ child_page.title }}

{% endtablerow %}

</table>

Dicta el número de filas que debe tener la tabla generada.

cols

limit

Sale del bucle después de un número determinado de elementos.

Código

<table>

{% tablerow child_page in page.children limit:2 %}

{{ child_page.title }}

{% endtablerow %}

</table>

Salida

<table>

<tr class=row1>

<td class=col1>

Child Page 1

</td>

<td class=col2>

Child Page 2

</td>

</tr>

</table>

offset

Inicia el bucle en un índice determinado.

Código

<table>

{% tablerow child_page in page.children offset:2 %}

{{ child_page.title }}

{% endtablerow %}

</table>

Salida

<table>

<tr class=row1>

<td class=col1>

Child Page 3

</td>

<td class=col2>

Child Page 4

</td>

</tr>

</table>

range

Define un intervalo de números para recorrer en bucle.

Code

<table>

{% tablerow i in (1..3) %}

{{ i }}

{% endtablerow %}

</table>

Consulte también