Přeskočit navigaci

 

{if},{elseif},{else}

Právě se nacházíte: Úvod ›› {if},{elseif},{else}

{if},{elseif},{else}

Funkce {if} funguje jako klasická podmínka PHP. Tedy pokud část výroku v klasuzuli {if} platí, pak se podmínka vykoná. Část {elseif} testuje další podmínku v případě neúspěchu první části. Poslední část {else} se vykoná v případě, že žádná z předchozích podmínek nebyla vyhodnocena kladně. Celý cyklus podmínek musí být ukončen značkou {/if}.

Když už jsme u podmínek, možná vás napadne, zda můžete používat operátory stejné jako v PHP. Ano, můžete, ale musí být vždy odděleny mezerou. Smarty navíc rozšiřuje výčet použitelných operátorů. Můžete rovněž použít funkce php.

Následuje výčet několika použitelných operátorů i s alternativami v závorce: == (eq) znamená rovná se, != (ne, neq) znamená nerovná se, > (gt) znamená je větší než, < (lt) znamená je menší než atd. Doporučuji se podívat na kompletní výčet. Proč je v Smarty tolik ekvivalentů pro různé operátory je mi záhadou.


<?php 

$pole 
= array('prvni','druhy','treti','ctvrty');
$smarty->assign('pole',$pole);
$smarty->assign('cislo1',1);
?>

a šablona:


<body>

{if $cislo1 == 0}
<p>Promenna $cislo1 je rovna nule</p>
{elseif $cislo1 == 1}
<p>Promenna $cislo1 je rovna jedne</p>
{else}
<p>Do tolika neumim pocitat</p>
{/if}


{if is_array($pole) }
   <p>Smarty umožňuje použít i funkce PHP</p>
{/if}
</body>

A výsledek bude:


Promenna $cislo1 je rovna jedne


Smarty umožňuje použít i funkce PHP

Pokračujte dále: {include}

RonnieWeb.net