Loops
Mit Hilfe von Kontrollstrukturen kannst Du die Ausgabe abhängig machen von bestimmten Bedingungen. Man unterscheidet zwischen Verzweigungen mit if oder switch und der foreach-Schleife.
if-Verzweigung
Mit einer if-Verzweigung werden eine oder mehrere Bedingungen geprüft. Je nachdem, welche Bedingung als erstes ein true zurückgibt, wird dieser Zweig angezeigt und die restlichen werden ignoriert. Eine if/elseif/else-Verzweigung muss immer aus einem if-Zweig und optional beliebig viele elseif-Zweige bestehen sowie optional einem einzigen else-Zweig.
Eine Verzweigung wird mit if eingeleitet und durch /if abgeschlossen. elseif- und else-Zweige werden dagegen nicht explizit geschlossen.
Das folgende Beispiel zeigt die unterschiedlichen Anredeformen, wenn Bestandskunden im Shop angemeldet sind. Auf dem Template sei eine Variable $geschlecht definiert, die sich das entsprechende Geschlecht aus den Kundendatensätzen holt.
{{ if $geschlecht == "männlich" }}
Sehr geehrter Herr {{= $customer.lastName }},
{{ elseif $geschlecht == "weiblich" }}
Sehr geehrte Frau {{= $customer.lastName }},
{{ else }}
Sehr geehrte Damen und Herren,
{{ /if }}switch-Verzweigung
Alternativ zu if-Verzweigungen kannst Du auch switch, case und default verwenden. Mit switch leitest Du die Verzweigung ein und gibst an, welches Feld geprüft werden soll. Hinter case schreibst Du ohne == die unterschiedlichen Werte und default entspricht else.
{{ switch $geschlecht }}
{{ case "männlich" }}
Sehr geehrter Herr {{= $customer.lastName }},
{{ case "weiblich" }}
Sehr geehrte Frau {{= $customer.lastName }},
{{ default }}
Sehr geehrte Damen und Herren,
{{ /switch }}foreach-Schleife
Eine foreach-Schleife dient dazu, Codeabschnitte mehrfach zu wiederholen (iterieren). Die Schleife wird mit foreach eingeleitet und mit /foreach geschlossen. Der umschlossene Bereich wird für jedes Element des iterierbaren Objekts einmal ausgeführt. Mit jedem Durchlauf wird das aktuelle Element des iterierbaren Objekts der sogenannten Laufvariable (im Beispiel unten $product) ohne var zugewiesen.
Im folgenden Beispiel enthält $productList eine List mit 3 Elementen. Mit jedem Durchlaufen der Schleife wird das jeweilige Element mit den HTML-Tags ausgegeben.
{{ var $productList = ["Hemd", "Bluse", "Hose"] }}
{{ foreach $product in $productList }}
<div>
Produkt: {{= $product }}<br>
</div>
{{ /foreach }}Es wird folgender HTML-Quellcode erzeugt:
<div>
Produkt: Hemd<br>
</div>
<div>
Produkt: Bluse<br>
</div>
<div>
Produkt: Hose<br>
</div>Das Iterieren mit einer foreach-Schleife ist mit Strings, Lists und Maps möglich.
© 2025 WEBSALE AG | Impressum | Datenschutz