Del via


Gentagelsesmærker

Gentagelsesmærker bruges til at køre/gengive en kodeblok flere gange.

til

Kører en kodeblok flere gange. Det bruges oftest til gentagelse af elementerne i en matrix eller en ordbog.

I for-mærkeblokken er forloop-objekt tilgængelig.

Kode

{% for child_page in page.children %}

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

{% endfor %}

Resultat

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

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

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

Parametre

Disse parametre til for kan bruges alene eller i kombination.

limit

Afslutter løkken efter et givet antal elementer.

Kode

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

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

{% endfor %}

Resultat

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

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

offset

Starter løkken ved et givet indeks.

Kode

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

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

{% endfor %}

Resultat

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

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

range

Definerer en række tal, der skal gennemløbes.

Kode

{% assign n = 4 %}

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

{{ i }}

{% endfor %}

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

{{ i }}

{% endfor }}

Resultat

2 3 4

10 11 12 14

reversed

Gennemløber løkken i omvendt rækkefølge startende fra det sidste element.

Kode

{% for child_page in page.children reversed %}

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

{% endfor %}

Resultat

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

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

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

cycle

Gentages gennem en række strenge og outputter dem i den rækkefølge, de blev sendt som parametre. Hver gang en cyklus kaldes, outputtes den næste streng, der blev sendt som en parameter.

Kode

{% for item in items %}

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

{% end %}

Resultat

<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

Opretter en HTML-tabel. Skal ombrydes i et åbnings-<table>- og luknings-</table>-HTML-mærke.

I tablerow-mærkeblokken er tablerowloop tilgængelig.

Kode

<table>

{% tablerow child_page in page.children %}

{{ child_page.title }}

{% endtablerow %}

</table>

Resultat

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

Parametre

Disse parametre for tablerow kan bruges alene eller i kombination.

Resultat

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

Kode

<table>

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

{{ child_page.title }}

{% endtablerow %}

</table>

Bestemmer, hvor mange rækker, der skal være i den oprettede tabel.

cols

limit

Afslutter løkken efter et givet antal elementer.

Kode

<table>

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

{{ child_page.title }}

{% endtablerow %}

</table>

Resultat

<table>

<tr class=row1>

<td class=col1>

Child Page 1

</td>

<td class=col2>

Child Page 2

</td>

</tr>

</table>

offset

Starter løkken ved et givet indeks.

Kode

<table>

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

{{ child_page.title }}

{% endtablerow %}

</table>

Resultat

<table>

<tr class=row1>

<td class=col1>

Child Page 3

</td>

<td class=col2>

Child Page 4

</td>

</tr>

</table>

range

Definerer en række tal, der skal gennemløbes.

Kode

<table>

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

{{ i }}

{% endtablerow %}

</table>

Se også