if,elseif,else
Конструкция {if} в Smarty такая же гибкая, как и
аналогичная конструкциия в PHP, только с несколько расширенными
возможностями.
Каждый тэг {if} должен иметь пару
{/if}. {else} и
{elseif} так же допустимы. Досутпны все квалификаторы
из PHP, такие как ||, or,
&&, and и т.д.
Ниже следует список распознаваемых квалификаторов, которые должны быть
отделены от окружающих элементов пробелами. Обратите внимания, что
объекты в [квадратных скобках] являются необязательными. Иногда указаны
эквиваленты в PHP.
Квалификатор
Альтернативы
Пример синтаксиса
Описание
Эквивалент PHP
==
eq
$a eq $b
равно
==
!=
ne, neq
$a neq $b
не равно
!=
>
gt
$a gt $b
больше
>
<
lt
$a lt $b
меньше
<
>=
gte, ge
$a ge $b
больше или равно
>=
<=
lte, le
$a le $b
меньше или равно
<=
===
$a === 0
проверка идентичности
===
!
not
not $a
отрицание
!
%
mod
$a mod $b
остаток от деления
%
is [not] div by
$a is not div by 4
возможно деление без остатка
$a % $b == 0
is [not] even
$a is not even
[не]чётно
$a % 2 == 0
is [not] even by
$a is not even by $b
[не]чётно значению
($a / $b) % 2 == 0
is [not] odd
$a is not odd
[не]нечётно
$a % 2 != 0
is [not] odd by
$a is not odd by $b
[не]нечётно значению
($a / $b) % 2 != 0
Конструкция if
0 or $amount < 1000 ) and $volume >= #minVolAmt#}
...
{/if}
{* вы также можете использовать функции php *}
{if count($var) gt 0}
...
{/if}
{* проверяет чётность значений *}
{if $var is even}
...
{/if}
{if $var is odd}
...
{/if}
{if $var is not odd}
...
{/if}
{* проверяет, делится ли $var на 4 без остатка *}
{if $var is div by 4}
...
{/if}
{* проверяет, является ли $var чётным двум, например
0=чётно, 1=чётно, 2=нечётно, 3=нечётно, 4=чётно, 5=чётно и т.д. *}
{if $var is even by 2}
...
{/if}
{* 0=чётно, 1=чётно, 2=чётно, 3=нечётно, 4=нечётно, 5=нечётно и т.д. *}
{if $var is even by 3}
...
{/if}
]]>