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.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.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.Die foreach-Schleife ist der einzige Schleifentyp der Template Engine. Andere Schleifen wie for, while oder do-while gibt es nicht.
Schleifenzähler
Die Template Engine stellt innerhalb einer foreach-Schleife keine automatische Zählervariable bereit. Eine Variable wie$loop.index existiert nicht. Wenn Du die Position des aktuellen Elements benötigst, definierst Du vor der Schleife eine eigene Variable mit var und zählst sie am Ende jedes Durchlaufs hoch.
Das folgende Beispiel fügt nach dem zweiten Produkt (also an dritter Stelle) einen Platzhalter in die Produktliste ein. Danach läuft die Schleife normal weiter.
0 startet, entspricht $index == 1 dem zweiten Element.