for-Schleifen

 

for-Schleife

Eine for-Schleife kann angewendet werden, indem eine Zählervariable und ein Zahlenbereich definiert wird. Alternativ kann eine Iteration über ein Array vorgenommen werden.

Video-Tutorial

Zahlenbereich

Für diese Variante muss zuerst eine Zählervariable definiert werden (hier $_i) und dann ein Zahlenbereich (hier von 1 bis 10):

{% for $_i in 1..10 %} Hallo, ich bin Durchlauf $_i {% endfor %} {# Ausgabe: Hallo, ich bin Durchlauf 1 Hallo, ich bin Durchlauf 2 ... Hallo, ich bin Durchlauf 10 #}

Alternative

{% for($_i in 1..10) { print("Hallo, ich bin Durchlauf " .$_i); } # Ausgabe: # Hallo, ich bin Durchlauf 1 # Hallo, ich bin Durchlauf 2 # ... # Hallo, ich bin Durchlauf 10 %}

Diese Variante ist optimal, um beispielsweise Artikelbilder darzustellen. Artikelbilder werden in den entsprechenden Templates als Array zur Verfügung gestellt.

Wenn Sie bei einigen Artikeln mehrere Bilder angelegt haben, aber nicht mehr als fünf, ist die folgende Schleife eine interessante Möglichkeit zur Darstellung von Bildern:

{% for $_i in 1..5 %} {% if $ImageURL[$_i]!="" %} $Image[$_i] {% endif %} {% endfor %}

Alternative

{% for($_i in 1..5) { if($ImageURL[$_i] != "") { print($Image[$_i]); } } %}

Iteration über Array

Eine Iteration über ein Array ist auf zwei Arten möglich. Entweder wird nur der Wert der aktuellen Array-Position zurückgeliefert oder sowohl die Position als auch der Wert.

{% $_a = ["Hallo", "Du!", "Wie", "geht", "es", "dir?"] %} {% for $_word in $_a %} $_word {% endfor %} {# Ausgabe: Hallo Du! Wie geht es dir? #}

Alternative

{% $_a = ["Hallo", "Du!", "Wie", "geht", "es", "dir?"]; for($_word in $_a) { print($_word); } # Ausgabe: Hallo Du! Wie geht es dir? %}

Wenn Sie auch die Position (hier $_key) erhalten möchten, verwenden Sie die folgende Schleifen-Variante:

Iteration über Array mit Schleife bei einzeiligem Code-Block

{% $_a = ["Hallo", "Du!", "Wie", "geht", "es", "dir?"] %} {% for $_key, $_word in $_a %} Wort $_key: $_word {% endfor %} {# Ausgabe: Wort 1: Hallo Wort 2: Du! ... #}

Alternative

{% for($_key, $_word in $_a) { print("Wort "); print($_key); print(": "); print($_word); } # Ausgabe: # Wort 1: Hallo Wort 2: Du! ... %}

Verfügbare Template-Variablen

Innerhalb einer for-Schleife stehend die folgenden Template-Variablen zur Verfügung. Wenn mehrere Schleifen ineinander verschachtelt sind, erfolgt die Nummerierung von außen nach innen.

{# bricht die Schleife ab #} $LoopBreak[1] {# überspringt ein Element und fährt mit dem nächsten fort #} $LoopContinue[1] {# ist erster Durchlauf #} $LoopIsFirst[1] {# ist letzter Durchlauf #} $LoopIsLast[1] {# Gesamtanzahl der Durchläufe #} $LoopCount[1] {# aktueller Durchlauf #} $LoopPosition[1] {# aktuell noch zu durchlaufende Durchläufe #} $LoopRevPosition[1]
Nach oben