Get Smarty

Donate

Smarty Icon

You may use the Smarty logo according to the trademark notice.

Smarty Template Engine Smarty Template Engine

For sponsorship, advertising, news or other inquiries, contact us at:

Sites Using Smarty

Buy cheap glasses from Cheapglasses123.com and save up to 80%.

Where to buy prescription glasses? EyewearCanada.com is your best choice!

Visit www.sport-kick.com for cheap soccer cleats, sneakers and Soccer Jerseys updates

Advertisement

{if},{elseif},{else}

Конструкция {if} в Smarty такая же гибкая, как и конструкция if в PHP, только с несколькими дополнительными возможностями для шаблонов. Каждый тэг {if} должен иметь пару {/if}. {else} и {elseif} так же допустимы. Досутпны все квалификаторы и функции из PHP, такие как ||, or, &&, and, is_array() и т.д.

Если $security включена, то массив IF_FUNCS в массиве $security_settings.

Ниже следует список распознаваемых квалификаторов, которые должны быть отделены от окружающих элементов пробелами. Обратите внимания, что объекты в [квадратных скобках] являются необязательными. Иногда указаны эквиваленты в 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

Example 7.15. примеры использования {if}


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

{* пример с логикой "или" *}
{if $name eq 'Fred' or $name eq '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 is_array($foo) }
 ...
{/if}
  	 
{* проверка на существование *}
{if isset($foo) }
 ...
{/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}

  

Example 7.16. ещё несколько примеров использования {if}


{if isset($name) && $name = 'Blog'}
    {* сделать что-нибудь *}
{elseif $name == $foo}
    {* сделать что-нибудь другое *}
{/if}

{if is_array($foo) && count($foo) > 0)
    {* выполнить цикл foreach *}
{/if}

  

Comments
No comments for this page.

Advertisement