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érateur | Syntaxe alternative | Exemple de syntaxe | Signification | Equivalent PHP |
|---|---|---|---|---|
| == | eq | $a eq $b | égalité | == |
| != | ne, neq | $a neq $b | différence | != |
| > | gt | $a gt $b | supérieur à | > |
| < | lt | $a lt $b | inférieur à | < |
| >= | gte, ge | $a ge $b | supérieur ou égal à | >= |
| <= | lte, le | $a le $b | inférieur ou égal à | <= |
| === | $a === 0 | égalité (type et valeur) | === | |
| ! | not | not $a | négation | ! |
| % | mod | $a mod $b | modulo | % |
| is [not] div by | $a is not div by 4 | divisible par | $a % $b == 0 | |
| is [not] even | $a is not even | est [ou non] un nombre pair | $a % 2 == 0 | |
| is [not] even by | $a is not even by $b | paritée de groupe | ($a / $b) % 2 == 0 | |
| is [not] odd | $a is not odd | est [ou non] un nombre impair | $a % 2 != 0 | |
| is [not] odd by | $a is not odd by $b | est [ou non] un groupe impair | ($a / $b) % 2 != 0 |
| Précédent | Sommaire | Suivant |
| {foreach},{foreachelse} | Niveau supérieur | {include} |