if,elseif,else
{if}-Statements in Smarty erlauben die selbe
Flexibilität wie in PHP, bis auf ein paar Erweiterungen für die
Template-Engine. Jedes {if} muss mit einem
{/if} kombiniert
sein. {else} und {elseif}
sind ebenfalls erlaubt. Alle PHP Vergleichsoperatoren, wie
||, or,
&&, and, etc. sind
erlaubt.
Hier eine Liste der erlaubten Operatoren. Bedingungsoperatoren
müssen von umgebenden Elementen mit Leerzeichen abgetrennt werden.
PHP-Äquivalente sind, sofern vorhanden, angeben.
Operator
Alternativen
Syntax Beispiel
Bedeutung
PHP Äquivalent
==
eq
$a eq $b
ist gleich
==
!=
ne, neq
$a neq $b
ist ungleich
!=
>
gt
$a gt $b
größer als
>
<
lt
$a lt $b
kleiner als
<
>=
gte, ge
$a ge $b
größer oder gleich
>=
<=
lte, le
$a le $b
kleiner oder gleich
<=
===
$a === 0
identisch
===
!
not
not $a
Negation
!
%
mod
$a mod $b
Modulo
%
is [not] div by
$a is not div by 4
Ist [nicht] teilbar durch
$a % $b == 0
is [not] even
$a is not even
ist [k]eine gerade Zahl
$a % 2 == 0
is [not] even by
$a is [not] even by $b
[k]eine gerade Gruppierung
($a / $b) % 2 == 0
is [not] odd
$a is not odd
ist [k]eine ungerade Zahl
$a % 2 != 0
is [not] odd by
$a is not odd by $b
[k]eine ungerade Gruppierung
($a / $b) % 2 != 0
if Anweisung
1000 ) and $menge >= #minMengeAmt#}
...
{/if}
{* einbetten von php Funktionsaufrufen ('gt' steht für 'grösser als') *}
{if count($var) gt 0}
...
{/if}
{* testen ob eine Zahl gerade (even) oder ungerade (odd) ist *}
{if $var is even}
...
{/if}
{if $var is odd}
...
{/if}
{if $var is not odd}
...
{/if}
{* testen ob eine Zahl durch 4 teilbar ist (div by) *}
{if $var is div by 4}
...
{/if}
{* testen ob eine Variable gerade ist, gruppiert nach 2
0=gerade, 1=gerade, 2=ungerade, 3=ungerade, 4=gerade, 5=gerade, etc *}
{if $var is even by 2}
...
{/if}
{* 0=gerade, 1=gerade, 2=gerade, 3=ungerade, 4=ungerade, 5=ungerade, etc *}
{if $var is even by 3}
...
{/if}
]]>