Библиотека plusby.com Учебник РНР 4.2 Иллюстрированный самоучитель по Maple

if,elseif,else

Конструкция if в Smarty такая же гибкая, как и аналогичная конструкциия в php, только с несколько расширенными возможностями. Каждый тэг if должен иметь пару /if. else и elseif так же допустимы. "eq", "ne", "neq", "gt", "lt", "lte", "le", "gte" "ge", "is even", "is odd", "is not even", "is not odd", "not", "mod", "div by", "even by", "odd by", "==", "!=", ">", "<", "<=", ">=" -- допустимые квалификаторы условий. Они должны быть отделены от окружающих елементов пробелами.

Пример 7-11. Конструкция if

{if $name eq "Fred"}
	Welcome Sir.
{elseif $name eq "Wilma"}
	Welcome Ma'am.
{else}
	Welcome, whatever you are.
{/if}

{* пример с логикой ИЛИ ("or") *}
{if $name eq "Fred" or $name eq "Wilma"}
	...
{/if}

{* аналогичен предыдущему *}
{if $name == "Fred" || $name == "Wilma"}
	...
{/if}

{* следующий синтаксис не будет работать. квалификаторы условий должны 
   быть отделены от окружающих элементов пробелами *}
{if $name=="Fred" || $name=="Wilma"}
	...
{/if}


{* допускаются скобки *}
{if ( $amount < 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}

{* проверка на делимость на 4 *}
{if $var is div by 4}
	...
{/if}

{* проверка на "четность" групируя по 2. т.е.,
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}