{if},{elseif},{else}
L'instruction {if} dans Smarty dispose de la même flexibilité que l'instruction
PHP if,
avec quelques fonctionnalités supplémentaires pour le
moteur de template. Tous les {if} doivent être
utilisés de pair avec un {/if}.
{else} et {elseif} sont également
des balises autorisées. Toutes les conditions et fonctions PHP sont reconnues,
comme ||, or,
&&, and,
is_array(), etc.
Si $security est actif,
alors le tableau IF_FUNCS dans le tableau
$security_settings (?!).
La liste suivante présente les opérateurs reconnus, qui doivent être entourés d'espaces.
Remarquez que les éléments listés entre [crochets] sont optionnels. Les équivalents
PHP sont indiqués lorsque applicables.
OpérateurSyntaxe alternativeExemple de syntaxeSignificationEquivalent PHP==eq$a eq $bégalité==!=ne, neq$a neq $bdifférence!=>gt$a gt $bsupérieur à><lt$a lt $binférieur à<>=gte, ge$a ge $bsupérieur ou égal à>=<=lte, le$a le $binférieur ou égal à<====$a === 0égalité (type et valeur)===!notnot $anégation!%mod$a mod $bmodulo%is [not] div by$a is not div by 4divisible par$a % $b == 0is [not] even$a is not evenest [ou non] un nombre pair$a % 2 == 0is [not] even by$a is not even by $bparitée de groupe($a / $b) % 2 == 0is [not] odd$a is not oddest [ou non] un nombre impair$a % 2 != 0is [not] odd by$a is not odd by $best [ou non] un groupe impair($a / $b) % 2 != 0Instruction {if}
1000 ) and $volume >= #minVolAmt#}
...
{/if}
{* vous pouvez également faire appel aux fonctions PHP *}
{if count($var) gt 0}
...
{/if}
{* Vérifie si c'est un tableau. *}
{if is_array($foo) }
.....
{/if}
{* Vérifie si la variable est nulle. *}
{if isset($foo) }
.....
{/if}
{* teste si les valeurs sont paires(even) ou impaires(odd) *}
{if $var is even}
...
{/if}
{if $var is odd}
...
{/if}
{if $var is not odd}
...
{/if}
{* teste si la variable est divisible par 4 *}
{if $var is div by 4}
...
{/if}
{* teste si la variable est paire, par groupe de deux i.e.,
0=paire, 1=paire, 2=impaire, 3=impaire, 4=paire, 5=paire, etc. *}
{if $var is even by 2}
...
{/if}
{* 0=paire, 1=paire, 2=paire, 3=impaire, 4=impaire, 5=impaire, etc. *}
{if $var is even by 3}
...
{/if}
]]>
Plus d'exemples avec {if}
0)
{* faire une boucle foreach *}
{/if}
]]>