Dela via


Iterationstaggar

Iterationstaggar används för att köra/återge ett kodblock upprepade gånger.

för

Kör ett kodblock upprepade gånger. Det används mest för att iterera över objekten i en matris eller en ordlista.

Inom taggbloket är forloop-objekt tillgängligt.

Code

{% for child_page in page.children %}

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

{% endfor %}

Utdata

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

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

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

Parameters

Dessa "för"-parametrar kan användas separat eller kombinerade.

gräns

Avslutar loopen efter ett givet antal objekt.

Code

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

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

{% endfor %}

Output

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

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

förskjutning

Startar loop vid angivet index.

Code

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

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

{% endfor %}

Output

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

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

intervall

Definierar ett intervall med nummer att gå igenom.

Code

{% assign n = 4 %}

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

{{ i }}

{% endfor %}

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

{{ i }}

{% endfor }}

Utgående

2 3 4

10 11 12 14

återförda

Går igenom loopen i omvänd ordning från den sista posten.

Code

{% for child_page in page.children reversed %}

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

{% endfor %}

Output

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

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

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

cykel

Går genom en grupp av strängar och matar ut dem i den ordning som de skickades som parametrar. Varje gång en cykel kallas, kommer nästa sträng som skickades som en parameter att vara utdata.

Code

{% for item in items %}

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

{% end %}

Output

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

tabellrad

Skapar en HTML-tabell. Måste omges av inledande <tabell>- och avslutande </table>-HTML-taggar.

Inom taggblocket för tabellrad finns tablerowloop tillgänglig.

Code

<table>

{% tablerow child_page in page.children %}

{{ child_page.title }}

{% endtablerow %}

</table>

Output

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

Parameters

Dessa parametrar för tabellrad kan användas separat eller i kombination.

Output

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

Code

<table>

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

{{ child_page.title }}

{% endtablerow %}

</table>

Avgör hur många rader som den genererade tabellen ska ha.

kolumner

gräns

Avslutar loopen efter ett givet antal objekt.

Code

<table>

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

{{ child_page.title }}

{% endtablerow %}

</table>

Output

<table>

<tr class=row1>

<td class=col1>

Child Page 1

</td>

<td class=col2>

Child Page 2

</td>

</tr>

</table>

offset

Startar loop vid angivet index.

Code

<table>

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

{{ child_page.title }}

{% endtablerow %}

</table>

Utdata

<table>

<tr class=row1>

<td class=col1>

Child Page 3

</td>

<td class=col2>

Child Page 4

</td>

</tr>

</table>

intervall

Definierar ett intervall med nummer att gå igenom.

Code

<table>

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

{{ i }}

{% endtablerow %}

</table>

Se även