2004-04-13 15:43:47 +00:00
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ -->
2005-01-07 09:42:34 +00:00
<!-- EN - Revision: 1.2 Maintainer: gerald Status: ready -->
2004-05-23 15:44:59 +00:00
<sect1 id= "language.function.if" >
<title > if,elseif,else</title>
<para >
l'instruction if dans Smarty dispose de la m<> me flexibilit<69> que l'instruction
PHP du m<> me nom, avec quelques fonctionnalit<69> s suppl<70> mentaires pour le
moteur de template. Tous les <emphasis > if</emphasis> doivent <20> tre
utilis<69> s de pair avec un <emphasis > /if</emphasis> .
<emphasis > else</emphasis> et <emphasis > elseif</emphasis> sont <20> galement
des balises autoris<69> es. "eq", "ne","neq", "gt", "lt", "lte", "le",
"gte" "ge","is even","is odd", "is not even","is not odd","not","mod",
2005-01-07 09:42:34 +00:00
"div by","even by","odd by","==", "===", "!=","> ", "< ","< =","> =" sont tous des op<6F> rateurs conditionnels valides, et doivent obligatoirement <20> tre
2004-05-23 15:44:59 +00:00
s<> par<61> s des autres <20> l<EFBFBD> ments par des espaces.
</para>
2004-07-02 20:35:23 +00:00
<para >
La liste suivante pr<70> sente les op<6F> rateurs reconnus, qui doivent <20> tre entour<75> s d'espaces.
Remarquez que les <20> l<EFBFBD> ments list<73> s entre [crochets] sont optionnels. Les <20> quivalents
PHP sont indiqu<71> s lorsque applicables.
</para>
<informaltable frame= "all" >
<tgroup cols= "4" >
<colspec colname= "qualifier" align= "center" />
<colspec colname= "alternates" align= "center" />
<colspec colname= "meaning" />
<colspec colname= "example" />
<colspec colname= "php" />
<thead >
<row >
2005-01-07 09:42:34 +00:00
<entry > Op<EFBFBD> rateur</entry>
<entry > Syntaxe alternative</entry>
<entry > Exemple de syntaxe</entry>
<entry > Signification</entry>
<entry > Equivalent PHP</entry>
2004-07-02 20:35:23 +00:00
</row>
</thead>
<tbody >
<row >
<entry > ==</entry>
<entry > eq</entry>
<entry > $a eq $b</entry>
2005-01-07 09:42:34 +00:00
<entry > <EFBFBD> galit<EFBFBD> </entry>
2004-07-02 20:35:23 +00:00
<entry > ==</entry>
</row>
<row >
<entry > !=</entry>
<entry > ne, neq</entry>
<entry > $a neq $b</entry>
2005-01-07 09:42:34 +00:00
<entry > diff<EFBFBD> rence</entry>
2004-07-02 20:35:23 +00:00
<entry > !=</entry>
</row>
<row >
<entry > > </entry>
<entry > gt</entry>
<entry > $a gt $b</entry>
2005-01-07 09:42:34 +00:00
<entry > sup<EFBFBD> rieur <20> </entry>
2004-07-02 20:35:23 +00:00
<entry > > </entry>
</row>
<row >
<entry > < </entry>
<entry > lt</entry>
<entry > $a lt $b</entry>
2005-01-07 09:42:34 +00:00
<entry > inf<EFBFBD> rieur <20> </entry>
2004-07-02 20:35:23 +00:00
<entry > < </entry>
</row>
<row >
<entry > > =</entry>
<entry > gte, ge</entry>
<entry > $a ge $b</entry>
2005-01-07 09:42:34 +00:00
<entry > sup<EFBFBD> rieur ou <20> gal <20> </entry>
2004-07-02 20:35:23 +00:00
<entry > > =</entry>
</row>
<row >
<entry > < =</entry>
<entry > lte, le</entry>
<entry > $a le $b</entry>
2005-01-07 09:42:34 +00:00
<entry > inf<EFBFBD> rieur ou <20> gal <20> </entry>
2004-07-02 20:35:23 +00:00
<entry > < =</entry>
</row>
2005-01-07 09:42:34 +00:00
<row >
<entry > ====</entry>
<entry > </entry>
<entry > $a === 0</entry>
<entry > <EFBFBD> galit<EFBFBD> (type et valeur)</entry>
<entry > ====</entry>
</row>
2004-07-02 20:35:23 +00:00
<row >
<entry > !</entry>
<entry > not</entry>
<entry > not $a</entry>
2005-01-07 09:42:34 +00:00
<entry > n<EFBFBD> gation</entry>
2004-07-02 20:35:23 +00:00
<entry > !</entry>
</row>
<row >
<entry > %</entry>
<entry > mod</entry>
<entry > $a mod $b</entry>
2005-01-07 09:42:34 +00:00
<entry > modulo</entry>
2004-07-02 20:35:23 +00:00
<entry > %</entry>
</row>
<row >
<entry > is [not] div by</entry>
<entry > </entry>
<entry > $a is not div by 4</entry>
2005-01-07 09:42:34 +00:00
<entry > divisible par</entry>
2004-07-02 20:35:23 +00:00
<entry > $a % $b == 0</entry>
</row>
<row >
<entry > is [not] even</entry>
<entry > </entry>
<entry > $a is not even</entry>
2005-01-07 09:42:34 +00:00
<entry > est [ou non] un nombre pair</entry>
2004-07-02 20:35:23 +00:00
<entry > $a % 2 == 0</entry>
</row>
<row >
<entry > is [not] even by</entry>
<entry > </entry>
<entry > $a is not even by $b</entry>
2005-01-07 09:42:34 +00:00
<entry > parit<EFBFBD> e de groupe</entry>
2004-07-02 20:35:23 +00:00
<entry > ($a / $b) % 2 == 0</entry>
</row>
<row >
<entry > is [not] odd</entry>
<entry > </entry>
<entry > $a is not odd</entry>
2005-01-07 09:42:34 +00:00
<entry > est [ou non] un nombre impair</entry>
2004-07-02 20:35:23 +00:00
<entry > $a % 2 != 0</entry>
</row>
<row >
<entry > is [not] odd by</entry>
<entry > </entry>
<entry > $a is not odd by $b</entry>
2005-01-07 09:42:34 +00:00
<entry > est [ou non] un groupe impair</entry>
2004-07-02 20:35:23 +00:00
<entry > ($a / $b) % 2 != 0</entry>
</row>
</tbody>
</tgroup>
</informaltable>
2004-05-23 15:44:59 +00:00
<example >
<title > Instruction if</title>
2004-04-13 15:43:47 +00:00
<programlisting >
{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<6F> rateur or *}
{if $name eq "Fred" or $name eq "Wilma"}
...
{/if}
{* m<> me chose que ci-dessus *}
{if $name == "Fred" || $name == "Wilma"}
...
{/if}
{* l'exemple suivant NE fonctionne PAS, les op<6F> rateurs
doivent <20> tre entour<75> s d'espaces. *}
{if $name=="Fred" || $name=="Wilma"}
...
{/if}
{* les parenth<74> ses sont autoris<69> es *}
{if ( $amount < 0 or $amount > 1000 ) and $volume > = #minVolAmt#}
...
{/if}
{* vous pouvez <20> galement faire appel aux fonctions PHP *}
{if count($var) gt 0}
...
{/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 divisble 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}</programlisting>
2004-05-23 15:44:59 +00:00
</example>
2004-04-13 15:43:47 +00:00
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
2004-05-23 15:44:59 +00:00
-->