Get Smarty

Donate

Paypal

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

Advertisement

{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é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

Example 7.15. Instruction {if}


{if $name eq 'Fred'}
  Bienvenue, Monsieur.
{elseif $name eq 'Wilma'}
  Bienvenue m'dame.
{else}
  Bienvenue, qui que vous soyez.
{/if}

{* Un exemple avec l'opérateur or *}
{if $name eq 'Fred' or $name eq 'Wilma'}
  ...
{/if}

{* même chose que ci-dessus *}
{if $name == 'Fred' || $name == 'Wilma'}
  ...
{/if}

{* les parenthèses sont autorisées *}
{if ( $amount < 0 or $amount > 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}


  

Example 7.16. Plus d'exemples avec {if}


{if isset($name) && $name = 'Blog'}
   {* faire quelque chose *}
{elseif $name == $foo}
   {* faire quelque chose *}
{/if}

{if is_array($foo) && count($foo) > 0)
   {* faire une boucle foreach *}
   {/if}
   
  

Comments
No comments for this page.

Advertisement

Sponsors [info]

Sponsors