Warunki logiczne nie są niczym nowym dla większości programistów, ale nie są oczywiste w pierwszej chwili dla większości projektantów stron. Warunki logiczne to po prostu pytania na które odpowiedź jest tak lub nie (prawda lub fałsz) - jeżeli będziesz o nich myślał w ten sposób, to nie bedziesz miał problemów z ich poprawnym użyciem.
Składnia:
<tmpl_if foo> <tmpl_else> </tmpl_if>
Składnia:
<tmpl_unless foo> <tmpl_else> </tmpl_unless>
Przykład:
<tmpl_if isTrue> To była prawda!<tmpl_else> To był fałsz! </tmpl_if>
Pętle służą do iteracyjnego prezentowania zestawów danych (po zakończeniu pętli jest ona ponownie wykonywana od początku). Są one bardziej zaawansowane niż zwykłe zmienne, ale mają one dzięki temu znacznie większe możliwości.
Składnia:
<tmpl_loop foo> </tmpl_loop>
<tmpl_loop klienci>
Imię: <tmpl_var first_name><br/>
</tmpl_loop>
Pętle mają zdefiniowane swoje własne warunki logiczne.
Są to __FIRST__, __ODD__, __INNER__, oraz __LAST__.
Zarówno język szablonów jak i zmienne szablonów nie rozróżniają dużych i małych liter w składni.
<tmpl_loop FOO>
<tmpl_if __FIRST__>Warunek ten realizowany jest tylko podczas pierwszego przejścia przez pętlę.</tmpl_if>
<tmpl_if __ODD__>Warunek ten realizowany jest tylko podczas każdego nieparzystego przejścia przez pętlę.</tmpl_if>
<tmpl_unless __ODD__>Warunek ten realizowany jest tylko podczas każdego parzystego przejścia przez pętlę.</tmpl_unless>
<tmpl_if __INNER__>Warunek ten realizowany jest tylko podczas każdego przejścia przez pętlę oprócz pierwszej i ostatniej pętli.</tmpl_if>
<tmpl_if __LAST__>Warunek ten realizowany jest tylko podczas ostatniego przejścia przez pętlę.<tmpl_if>
</tmpl_loop>