cvs: smarty /docs/fr/designers/language-builtin-functions language-function-capture.xml language-function-config-load.xml language-function-foreach.xml language-function-if.xml

[email protected] ("Yannick Torres") Sat, 30 Sep 2006 15:12:18 -0000
Newsgroups php.smarty.cvs
Message-ID <cvsyannick1159629138@cvsserver>
yannick		Sat Sep 30 15:12:18 2006 UTC

  Modified files:              
    /smarty/docs/fr/designers/language-builtin-functions	
                                                        	language-function-capture.xml 
                                                        	language-function-config-load.xml 
                                                        	language-function-foreach.xml 
                                                        	language-function-if.xml 
  Log:
  sync with EN
yannick-20060930151218.txt (text/plain, 26.7 KB)
http://cvs.php.net/viewvc.cgi/smarty/docs/fr/designers/language-builtin-functions/language-function-capture.xml?r1=1.11&r2=1.12&diff_format=u
Index: smarty/docs/fr/designers/language-builtin-functions/language-function-capture.xml
diff -u smarty/docs/fr/designers/language-builtin-functions/language-function-capture.xml:1.11 smarty/docs/fr/designers/language-builtin-functions/language-function-capture.xml:1.12
--- smarty/docs/fr/designers/language-builtin-functions/language-function-capture.xml:1.11	Sun Apr  9 21:59:55 2006
+++ smarty/docs/fr/designers/language-builtin-functions/language-function-capture.xml	Sat Sep 30 15:12:18 2006
@@ -1,26 +1,28 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.11 $ -->
-<!-- EN-Revision: 1.13 Maintainer: gerald Status: ready -->
+<!-- $Revision: 1.12 $ -->
+<!-- EN-Revision: 1.14 Maintainer: gerald Status: ready -->
 
 <sect1 id="language.function.capture">
  <title>{capture}</title>
 
  <para>
-  {capture} est utilisé pour récupérer la sortie d'éléments dans une variable
-  au lieu de les afficher. Tout contenu situé entre {capture
-  name='foo'} et {/capture} est intercepté dans une variable dont le nom est
-  spécifié dans l'attribut name.
+  <varname>{capture}</varname> est utilisé pour récupérer la sortie d'éléments dans
+  une variable au lieu de les afficher. Tout contenu situé entre
+  <varname>{capture name='foo'}</varname> et <varname>{/capture}</varname>
+  est intercepté dans une variable dont le nom est spécifié dans l'attribut
+  <parameter>name</parameter>.
  </para>
  <para>
   Le contenu capturé peut être utilisé dans
   le template par l'intermédiaire de la variable spéciale
-  <link linkend="language.variables.smarty.capture">$smarty.capture.foo</link>
-  où "foo" est la valeur de l'attribut name. Si vous ne donnez pas de valeur
-  à l'attribut name, alors "default" est utilisé en tant que nom, i.e.
-  $smarty.capture.default.
+  <link linkend="language.variables.smarty.capture"><parameter>$smarty.capture.foo</parameter></link>
+  où <quote>foo</quote> est la valeur de l'attribut <parameter>name</parameter>.
+  Si vous ne donnez pas de valeur à l'attribut <parameter>name</parameter>, alors
+  <quote>default</quote> est utilisé en tant que nom, i.e.
+  <parameter>$smarty.capture.default</parameter>.
  </para>
  <para>
-  {capture} peut être imbriqué.
+  <varname>{capture}</varname> peut être imbriqué.
  </para>
 
  <informaltable frame="all">
@@ -59,11 +61,11 @@
  </informaltable>
  <caution>
   <para>
-   Faîtes attention lorsque vous interceptez la sortie de commandes <link
-   linkend="language.function.insert">{insert}</link>.
+   Faîtes attention lorsque vous interceptez la sortie de commandes
+   <link linkend="language.function.insert"><varname>{insert}</varname></link>.
    Si vous avez configuré le <link linkend="caching">cache</link> pour que ce
    dernier soit actif, et que vous avez des commandes <link
-   linkend="language.function.insert">{insert}</link>
+   linkend="language.function.insert"><varname>{insert}</varname></link>
    supposées s'exécuter dans un contenu en cache, ne tentez pas de capturer
    ce contenu.
   </para>
@@ -87,7 +89,7 @@
   <example>
    <title>{capture} dans une variable de template</title>
    <para>Cet exemple démontre également la fonction
-    <link linkend="language.function.popup">{popup}</link>
+    <link linkend="language.function.popup"><varname>{popup}</varname></link>
    </para>
    <programlisting>
 <![CDATA[
@@ -103,12 +105,11 @@
  </para>
  <para>
   Voir aussi
-  <link
-   linkend="language.variables.smarty.capture">$smarty.capture</link>,
-  <link linkend="language.function.eval">{eval}</link>,
-  <link linkend="language.function.fetch">{fetch}</link>,
-  <link linkend="api.fetch">fetch()</link> et
-  <link linkend="language.function.assign">{assign}</link>.
+  <link linkend="language.variables.smarty.capture"><parameter>$smarty.capture</parameter></link>,
+  <link linkend="language.function.eval"><varname>{eval}</varname></link>,
+  <link linkend="language.function.fetch"><varname>{fetch}</varname></link>,
+  <link linkend="api.fetch"><varname>fetch()</varname></link> et
+  <link linkend="language.function.assign"><varname>{assign}</varname></link>.
  </para>
 </sect1>
 
http://cvs.php.net/viewvc.cgi/smarty/docs/fr/designers/language-builtin-functions/language-function-config-load.xml?r1=1.10&r2=1.11&diff_format=u
Index: smarty/docs/fr/designers/language-builtin-functions/language-function-config-load.xml
diff -u smarty/docs/fr/designers/language-builtin-functions/language-function-config-load.xml:1.10 smarty/docs/fr/designers/language-builtin-functions/language-function-config-load.xml:1.11
--- smarty/docs/fr/designers/language-builtin-functions/language-function-config-load.xml:1.10	Thu Dec  1 20:28:15 2005
+++ smarty/docs/fr/designers/language-builtin-functions/language-function-config-load.xml	Sat Sep 30 15:12:18 2006
@@ -1,13 +1,13 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.10 $ -->
-<!-- EN-Revision: 1.11 Maintainer: gerald Status: ready -->
+<!-- $Revision: 1.11 $ -->
+<!-- EN-Revision: 1.12 Maintainer: gerald Status: ready -->
 
 <sect1 id="language.function.config.load">
  <title>{config_load}</title>
 
  <para>
-  {config_load} est utiliseé pour charger des variables
-  <link linkend="language.config.variables">#variables#</link>
+  <varname>{config_load}</varname> est utiliseé pour charger des variables
+  <link linkend="language.config.variables"><parameter>#variables#</parameter></link>
   depuis un <link linkend="config.files">fichier de configuration</link>
   dans un template.
  </para>
@@ -75,9 +75,9 @@
   </tgroup>
  </informaltable>
  <example>
-  <title>fonction {config_load}</title>
+  <title>Fonction {config_load}</title>
   <para>
-   example.conf
+   Le fichier <filename>example.conf</filename>
   </para>
   <programlisting>
 <![CDATA[
@@ -117,13 +117,13 @@
  <para>
   Les <link linkend="config.files">fichiers de configuration</link> peuvent contenir des sections.
   Vous pouvez charger des variables d'une section donnée avec le
-  nouvel attribut <emphasis>'section'</emphasis>.
+  nouvel attribut <parameter>section</parameter>.
  </para>
  <note>
   <para>
-   Les <emphasis>sections des fichiers de configuration</emphasis>
-   et la fonction native 
-   <link linkend="language.function.section"><emphasis>{section}</emphasis></link>
+   Les <emphasis>sections</emphasis> des fichiers de configuration
+   et la fonction native
+   <link linkend="language.function.section"><varname>{section}</varname></link>
    n'ont rien en commun, il s'avère simplement qu'elles portent le même nom.
   </para>
  </note>
@@ -150,17 +150,17 @@
  </example>
 
  <para>
-  Voir aussi <link linkend="variable.config.overwrite">$config_overwrite</link>
+  Voir aussi <link linkend="variable.config.overwrite"><parameter>$config_overwrite</parameter></link>
   pour les tableaux de variables de configuration.
 </para>
 
  <para>
   Voir aussi
-  <link linkend="config.files">les fichiers de configuration</link>,
-  <link linkend="language.config.variables">les variables de configuration</link>,
-  <link linkend="variable.config.dir">$config_dir</link>,
-  <link linkend="api.get.config.vars">get_config_vars()</link> et
-  <link linkend="api.config.load">config_load()</link>.
+  les <link linkend="config.files">fichiers de configuration</link>,
+  les <link linkend="language.config.variables">variables de configuration</link>,
+  <link linkend="variable.config.dir"><parameter>$config_dir</parameter></link>,
+  <link linkend="api.get.config.vars"><varname>get_config_vars()</varname></link> et
+  <link linkend="api.config.load"><varname>config_load()</varname></link>.
  </para>
 </sect1>
 
http://cvs.php.net/viewvc.cgi/smarty/docs/fr/designers/language-builtin-functions/language-function-foreach.xml?r1=1.10&r2=1.11&diff_format=u
Index: smarty/docs/fr/designers/language-builtin-functions/language-function-foreach.xml
diff -u smarty/docs/fr/designers/language-builtin-functions/language-function-foreach.xml:1.10 smarty/docs/fr/designers/language-builtin-functions/language-function-foreach.xml:1.11
--- smarty/docs/fr/designers/language-builtin-functions/language-function-foreach.xml:1.10	Thu Dec  1 20:28:15 2005
+++ smarty/docs/fr/designers/language-builtin-functions/language-function-foreach.xml	Sat Sep 30 15:12:18 2006
@@ -1,31 +1,22 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.10 $ -->
-<!-- EN-Revision: 1.8 Maintainer: gerald Status: ready -->
+<!-- $Revision: 1.11 $ -->
+<!-- EN-Revision: 1.11 Maintainer: gerald Status: ready -->
 
 <sect1 id="language.function.foreach">
  <title>{foreach},{foreachelse}</title>
-
  <para>
-  Les boucles <emphasis>{foreach}</emphasis> sont une alternative aux boucles
-  <link linkend="language.function.section"><emphasis>section</emphasis></link>.
-  Les boucles <emphasis>{foreach}</emphasis>
-  sont utilisées pour parcourir des <emphasis role="bold">tableaux associatifs simples</emphasis>.
-  La syntaxe des boucles <emphasis>{foreach}</emphasis> est bien plus simple
-  que celle des boucles <emphasis>{section}</emphasis>, mais en contrepartie,
-  <emphasis role="bold">elles ne peuvent être utilisées que pour des tableaux associatifs 
-   simples</emphasis>. La balise <emphasis>{foreach}</emphasis> doit toujours être accompagnée
-  de la balise <emphasis>{/foreach}</emphasis>. Les paramètres requis sont
-  <emphasis>from</emphasis> et <emphasis>item</emphasis>. Le nom des boucles
-  {foreach} doit être composés exclusivement de lettres,
-  chiffres et underscores, selon vos préférences. Les boucles
-  <emphasis>{foreach}</emphasis> peuvent être imbriquées.
-  La variable <emphasis>from</emphasis> (généralement le tableau à
-  parcourir) détermine le nombre de fois que <emphasis>{foreach}</emphasis>
-  sera exécuté. <emphasis>{foreachelse}</emphasis> est exécuté si aucune
-  valeur n'est présente dans la variable donnée à l'attribut
-  <emphasis>from</emphasis>.
+  <varname>{foreach}</varname> est utilisé pour parcourir un
+  <emphasis role="bold">simple tableau associatif</emphasis>,
+  contrairement à <link linkend="language.function.section"><varname>{section}</varname></link>
+  qui effectue une boucle sur les <emphasis role="bold">tableaux de données</emphasis>.
+  La synthaxe pour
+  <varname>{foreach}</varname> est plus simple que
+  <link linkend="language.function.section"><varname>{section}</varname></link>,
+  mais <emphasis role="bold">ne peut être utilisé que pour des tableau simple</emphasis>.
+  Chaque <varname>{foreach}</varname> doit aller de paire avec une balise fermante 
+  <varname>{/foreach}</varname>.
  </para>
-
+ 
  <informaltable frame="all">
   <tgroup cols="5">
    <colspec colname="param" align="center" />
@@ -70,27 +61,127 @@
      <entry>Non</entry>
      <entry><emphasis>n/a</emphasis></entry>
      <entry>Le nom de la boucle foreach, qui nous permettra
-     d'accéder à ses propriétés.</entry>
+      d'accéder à ses propriétés.</entry>
     </row>
    </tbody>
   </tgroup>
  </informaltable>
+ 
+ 
+ <itemizedlist>
+  <listitem><para>
+    Required attributes are <parameter>from</parameter> and <parameter>item</parameter>.
+   </para></listitem>
+  
+  <listitem><para>
+    The <parameter>name</parameter> of the <varname>{foreach}</varname> loop can be anything
+    you like, made up of letters, numbers and underscores, like
+    <ulink url="&url.php-manual;language.variables">PHP variables</ulink>.
+   </para></listitem>
+  
+  <listitem><para>
+    <varname>{foreach}</varname> loops can be nested, and the nested
+    <varname>{foreach}</varname> names must be unique from each other.
+   </para></listitem>
+  
+  <listitem><para>
+    The <parameter>from</parameter> attribute, usually an array of values,
+    determines the number of times <varname>{foreach}</varname> will loop.
+   </para></listitem>
+  
+  <listitem><para>
+    <varname>{foreachelse}</varname> is executed when there are no
+    values in the <parameter>from</parameter> variable.
+   </para></listitem>
+  
+  <listitem><para>
+    <varname>{foreach}</varname> loops also have their own variables that handle properties.
+    These are accessed with:
+    <link linkend="language.variables.smarty.loops">
+     <parameter>{$smarty.foreach.name.property}</parameter></link> with
+    <quote>name</quote> being the
+    <parameter>name</parameter> attribute.
+   </para>
+   <note>
+    <title>Note</title>
+    <para>The <parameter>name</parameter> attribute is only required when
+     you want to access a <varname>{foreach</varname>} property, unlike
+     <link linkend="language.function.section"><varname>{section}</varname></link>.
+     Accessing a <varname>{foreach}</varname> property with <parameter>name</parameter>
+     undefined does not throw an error, but leads to unpredictable results instead.
+    </para>
+   </note>
+  </listitem>
+  
+  <listitem><para>
+    <varname>{foreach}</varname> properties are
+    <link linkend="foreach.property.index"><parameter>index</parameter></link>,
+    <link linkend="foreach.property.iteration"><parameter>iteration</parameter></link>,
+    <link linkend="foreach.property.first"><parameter>first</parameter></link>,
+    <link linkend="foreach.property.last"><parameter>last</parameter></link>,
+    <link linkend="foreach.property.show"><parameter>show</parameter></link>,
+    <link linkend="foreach.property.total"><parameter>total</parameter></link>.
+   </para></listitem>
+ </itemizedlist>
+
  <example>
-  <title>foreach</title>
+  <title>L'attribut <parameter>item</parameter></title>
   <programlisting role="php">
 <![CDATA[
 <?php
-$arr = array( 1001,1002,1003);
-$smarty->assign('custid', $arr);
+$arr = array(1000, 1001, 1002);
+$smarty->assign('myArray', $arr);
 ?>
 ]]>
   </programlisting>
+  <para>
+   Template pour afficher <parameter>$myArray</parameter> dans une liste non-ordonnée.
+  </para>
   <programlisting>
 <![CDATA[
-{* Cet exemple affiche toutes les valeurs du tableau $custid *}
-{foreach from=$custid item=curr_id}
-  id: {$curr_id}<br />
-{/foreach}
+<ul>
+ {foreach from=$myArray item=foo}
+ <li>{$foo}</li>
+ {/foreach}
+</ul>
+]]>
+  </programlisting>
+  <para>
+   L'exemple ci-dessus affichera :
+  </para>
+  <screen>
+<![CDATA[
+<ul>
+ <li>1000</li>
+ <li>1001</li>
+ <li>1002</li>
+</ul>
+]]>
+  </screen>
+ </example>
+
+ <example>
+  <title>Utilisation des attributs <parameter>item</parameter> et <parameter>key</parameter></title>
+  <programlisting role="php">
+<![CDATA[
+<?php
+$arr = array(9 => 'Tennis', 3 => 'Natation', 8 => 'Programmation');
+$smarty->assign('myArray', $arr);
+?>
+]]>
+  </programlisting>
+  <para>
+   Le template affiche le tableau <parameter>$myArray</parameter> comme paire clé/valeur,
+   comme la fonction PHP
+   <ulink url="&url.php-manual;foreach"><varname>foreach</varname></ulink>.
+  </para>
+  <programlisting>
+<![CDATA[
+<ul>
+ {foreach from=$myArray key=k item=v}
+ <li>{$k}: {$v}</li>
+ {/foreach}
+</ul>
 ]]>
   </programlisting>
   <para>
@@ -98,38 +189,78 @@
   </para>
   <screen>
 <![CDATA[
-id: 1000<br />
-id: 1001<br />
-id: 1002<br />
+<ul>
+ <li>9: Tennis</li>
+ <li>3: Natation</li>
+ <li>8: Programmation</li>
+</ul>
+]]>
+  </screen>
+ </example>
+
+ <example>
+  <title>{foreach} avec un attribut associatif <parameter>item</parameter></title>
+  <programlisting role="php">
+<![CDATA[
+<?php
+$items_list = array(23 => array('no' => 2456, 'label' => 'Salad'),
+    96 => array('no' => 4889, 'label' => 'Cream')
+);
+$smarty->assign('items', $items_list);
+?>
+]]>
+  </programlisting>
+  <para>
+   Le template affiche <parameter>$items</parameter> avec
+   <parameter>$myId</parameter> dans l'URL.
+  </para>
+  <programlisting>
+<![CDATA[
+<ul>
+ {foreach from=$items key=myId item=i}
+ <li><a href="item.php?id={$myId}">{$i.no}: {$i.label}</li>
+  {/foreach}
+ </ul>
+ ]]>
+  </programlisting>
+  <para>
+   L'exemple ci-dessus affichera :
+  </para>
+  <screen>
+<![CDATA[
+<ul>
+<li><a href="item.php?id=23">2456: Salad</li>
+<li><a href="item.php?id=96">4889: Cream</li>
+</ul>
 ]]>
   </screen>
  </example>
 
  <example>
-  <title>foreach key</title>
+  <title>{foreach} avec <parameter>item</parameter> et <parameter>key</parameter></title>
+  <para>Assigne un tableau à Smarty, la clé contient la clé pour chaque valeur de la boucle.</para>
   <programlisting role="php">
 <![CDATA[
-// key contient la clef de chaque élément parcouru
-// L'assignement ressemble à ceci :
 <?php
 $smarty->assign('contacts', array(
-    array('phone' => '1',
-      'fax' => '2',
-      'cell' => '3'),
-    array('phone' => '555-4444',
-      'fax' => '555-3333',
-      'cell' => '760-1234'))
-    );
+array('phone' => '1',
+         'fax' => '2',
+         'cell' => '3'),
+         array('phone' => '555-4444',
+         'fax' => '555-3333',
+         'cell' => '760-1234')
+));
 ?>
 ]]>
   </programlisting>
+  <para>Le template affiche <parameter>$contact</parameter>.</para>
   <programlisting>
 <![CDATA[
 {foreach name=outer item=contact from=$contacts}
-  <hr />
-  {foreach key=key item=item from=$contact}
-    {$key}: {$item}<br />
-  {/foreach}
+    <hr />
+    {foreach key=key item=item from=$contact}
+        {$key}: {$item}<br />
+    {/foreach}
 {/foreach}
 ]]>
   </programlisting>
@@ -139,92 +270,167 @@
   <screen>
 <![CDATA[
 <hr />
-  phone: 1<br />
-  fax: 2<br />
-  cell: 3<br />
+phone: 1<br />
+fax: 2<br />
+cell: 3<br />
 <hr />
-  phone: 555-4444<br />
-  fax: 555-3333<br />
-  cell: 760-1234<br />
+phone: 555-4444<br />
+fax: 555-3333<br />
+cell: 760-1234<br />
 ]]>
   </screen>
  </example>
 
  <example>
-  <title>{foreach} - Exemple avec une base de données (eg PEAR ou ADODB)</title>
+  <title>Exemple d'une base de données avec {foreachelse}</title>
+  <para>Exemple d'un script de recherche dans une base de données (e.g. PEAR ou ADODB),
+   le résultat de la requête est assigné à Smarty.</para>
   <programlisting role="php">
 <![CDATA[
 <?php
-$sql = 'select contact_id, name, nick from contacts order by contact';
-$smarty->assign("contacts", $db->getAssoc($sql));
+$search_condition = "where name like '$foo%' ";
+$sql = 'select contact_id, name, nick from contacts '.$search_condition.' order by name';
+$smarty->assign('results', $db->getAssoc($sql) );
 ?>
 ]]>
   </programlisting>
+  <para>Le template qui affiche <quote>None found</quote>
+   si aucun résultat avec <varname>{foreachelse}</varname>.</para>
   <programlisting>
 <![CDATA[
-{foreach key=cid item=con from=$contacts}
- <a href="contact.php?contact_id={$cid}">{$con.name} - {$con.nick}</a><br />
+{foreach key=cid item=con from=$results}
+<a href="contact.php?contact_id={$cid}">{$con.name} - {$con.nick}</a><br />
+{foreachelse}
+Aucun élément n'a été trouvé dans la recherche
 {/foreach}
 ]]>
-  </programlisting>
+   </programlisting>
+  </example>
 
+  <sect2 id="foreach.property.index">
+   <title>.index</title>
+   <para>
+    <parameter>index</parameter> contient l'index courant du tableau, en commançant par zéro.
+   </para>
+   <example>
+    <title>Exemple avec <parameter>index</parameter></title>
+    <programlisting role="php">
+ <![CDATA[
+ {* L'en-tête du block est affiché toutes les 5 lignes *}
+<table>
+ {foreach from=$items key=myId item=i name=foo}
+ {if $smarty.foreach.foo.index % 5 == 0}
+ <tr><th>Title</th></tr>
+ {/if}
+ <tr><td>{$i.label}</td></tr>
+ {/foreach}
+</table>
+]]>
+  </programlisting>
  </example>
+</sect2>
 
+<sect2 id="foreach.property.iteration">
+ <title>.iteration</title>
  <para>
-  Les boucles {foreach} ont également leurs propres variables qui gèrent les propriétés
-  de {foreach}. Elles sont indiquées par :
-  <link linkend="language.variables.smarty.loops">{$smarty.foreach.foreachname.varname}</link>
-  où foreachname est le nom spécifié par l'attribut <emphasis>name</emphasis>
-  de foreach.
+  <parameter>iteration</parameter> contient l'itération courante de la boucle et commence
+  toujours à 1, contrairement à
+  <link linkend="foreach.property.index"><parameter>index</parameter></link>.
+  Il est incrémenté d'un, à chaque itération.
  </para>
-
- <para>Voir <link linkend="section.property.index">{section}</link>
-  pour des exemples avec les proriétés ci-dessus.
- </para>
-
- <sect2 id="foreach.property.iteration">
-  <title>iteration</title>
-  <para>
-   <emphasis>iteration</emphasis> est utilisé pour afficher l'itération de la boucle courante.
-   <emphasis>iteration</emphasis> commence toujours par 1 et est incrémenté
-   à chaque itération.
-  </para>
- </sect2>
-
- <sect2 id="foreach.property.first">
-  <title>first</title>
-  <para>
-   <emphasis>first</emphasis> est défini à true si l'itération courante de foreach est la première.
-  </para>
- </sect2>
-
- <sect2 id="foreach.property.last">
-  <title>last</title>
+ <example>
+  <title>Exemple avec <parameter>iteration</parameter> et <parameter>index</parameter></title>
+  <programlisting role="php">
+<![CDATA[
+{* this will output 0|1, 1|2, 2|3, ... etc *}
+{foreach from=$myArray item=i name=foo}
+{$smarty.foreach.foo.index}|{$smarty.foreach.foo.iteration},
+{/foreach}
+]]>
+  </programlisting>
+ </example>
+</sect2>
+<sect2 id="foreach.property.first">
+  <title>.first</title>
   <para>
-   <emphasis>last</emphasis> est défini à true si l'itération courante de foreach est la dernière.
+   <parameter>first</parameter> vaut &true; si l'itération courante de
+   <varname>{foreach}</varname> est l'initial.
   </para>
- </sect2>
+  <example>
+   <title>Exemple avec <parameter>first</parameter></title>
+   <programlisting role="php">
+<![CDATA[
+ {* affiche LATEST sur le premier élément, sinon, l'id *}
+ <table>
+  {foreach from=$items key=myId item=i name=foo}
+  <tr>
+  <td>{if $smarty.foreach.foo.first}LATEST{else}{$myId}{/if}</td>
+  <td>{$i.label}</td>
+ </tr>
+ {/foreach}
+</table>
+]]>
+  </programlisting>
+ </example>
+</sect2>
+<sect2 id="foreach.property.last">
+ <title>.last</title>
+ <para>
+  <parameter>last</parameter> est défini à &true; si l'itération courante de
+  <varname>{foreach}</varname> est la dernière.
+ </para>
+ <example>
+  <title>Exemple avec <parameter>last</parameter></title>
+  <programlisting role="php">
+<![CDATA[
+{* Ajout une barre horizontale à la fin de la liste *}
+{foreach from=$items key=part_id item=prod name=products}
+<a href="#{$part_id}">{$prod}</a>{if $smarty.foreach.products.last}<hr>{else},{/if}
+{foreachelse}
+... contenu ...
+{/foreach}
+]]>
+  </programlisting>
+ </example>
+</sect2>
+<sect2 id="foreach.property.show">
+ <title>.show</title>
+ <para>
+  <parameter>show</parameter> est utilisé en tant que paramètre à <varname>{foreach}</varname>.
+  <parameter>show</parameter> est une valeur booléenne. S'il vaut
+  &false;, <varname>{foreach}</varname> ne sera pas affiché.
+  S'il y a un <varname>{foreachelse}</varname>, il sera affiché alternativement.
+ </para>
+</sect2>
 
- <sect2 id="foreach.property.show">
-  <title>show</title>
-  <para>
-   <emphasis>show</emphasis> est utilisé en tant que paramètre de foreach.
-   <emphasis>show</emphasis> est un booléen (true ou false). 
-   S'il vaut false, foreach ne sera pas affiché. Si foreachelse est présent,
-   il sera affiché alternativement.
-  </para>
+<sect2 id="foreach.property.total">
+ <title>.total</title>
+ <para>
+  <parameter>total</parameter> contient le nombre d'itérations que cette boucle
+  <varname>{foreach}</varname> effectuera.
+  Il peut être utilisé dans ou après un <varname>{foreach}</varname>.
+ </para>
+ <example>
+  <title>Exemple avec <parameter>total</parameter></title>
+  <programlisting role="php">
+<![CDATA[
+{* affiche les lignes retournées à la fin *}
+{foreach from=$items key=part_id item=prod name=foo}
+{$prod.name><hr/>
+{if $smarty.foreach.foo.last}
+<div id="total">{$smarty.foreach.foo.total} items</div>
+{/if}
+{foreachelse}
+... quelque chose d'autre ...
+{/foreach}
+]]>
+ </programlisting>
+</example>
 
- </sect2>
- <sect2 id="foreach.property.total">
-  <title>total</title>
-  <para>
-   <emphasis>total</emphasis> est utilisé pour afficher le nombre d'itérations
-   bouclées par ce foreach. Il peut être utilisé dans ou après le foreach.
-  </para>
   <para>
    Voir aussi
-   <link linkend="language.function.section">{section}</link> et
-   <link linkend="language.variables.smarty.loops">$smarty.foreach</link>.
+   <link linkend="language.function.section"><varname>{section}</varname></link>
+   et <link linkend="language.variables.smarty.loops"><parameter>$smarty.foreach</parameter></link>.
   </para>
  </sect2>
 </sect1>
http://cvs.php.net/viewvc.cgi/smarty/docs/fr/designers/language-builtin-functions/language-function-if.xml?r1=1.10&r2=1.11&diff_format=u
Index: smarty/docs/fr/designers/language-builtin-functions/language-function-if.xml
diff -u smarty/docs/fr/designers/language-builtin-functions/language-function-if.xml:1.10 smarty/docs/fr/designers/language-builtin-functions/language-function-if.xml:1.11
--- smarty/docs/fr/designers/language-builtin-functions/language-function-if.xml:1.10	Wed Mar 22 17:30:04 2006
+++ smarty/docs/fr/designers/language-builtin-functions/language-function-if.xml	Sat Sep 30 15:12:18 2006
@@ -1,25 +1,25 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.10 $ -->
-<!-- EN-Revision: 1.9 Maintainer: yannick Status: ready -->
+<!-- $Revision: 1.11 $ -->
+<!-- EN-Revision: 1.10 Maintainer: yannick Status: ready -->
 
 <sect1 id="language.function.if">
  <title>{if},{elseif},{else}</title>
  <para>
-  L'instruction <emphasis>{if}</emphasis> dans Smarty dispose de la même flexibilité que l'instruction
-  PHP <ulink url="&url.php-manual;if"><command>if</command></ulink>,
+  L'instruction <varname>{if}</varname> dans Smarty dispose de la même flexibilité que l'instruction
+  PHP <ulink url="&url.php-manual;if">if</ulink>,
   avec quelques fonctionnalités supplémentaires pour le
-  moteur de template. Tous les <emphasis>{if}</emphasis> doivent être
-  utilisés de pair avec un <emphasis>{/if}</emphasis>.
-  <emphasis>{else}</emphasis> et <emphasis>{elseif}</emphasis> sont également
+  moteur de template. Tous les <varname>{if}</varname> doivent être
+  utilisés de pair avec un <varname>{/if}</varname>.
+  <varname>{else}</varname> et <varname>{elseif}</varname> sont également
   des balises autorisées. Toutes les conditions et fonctions PHP sont reconnues,
   comme <emphasis>||</emphasis>, <emphasis>or</emphasis>,
   <emphasis>&amp;&amp;</emphasis>, <emphasis>and</emphasis>,
   <emphasis>is_array()</emphasis>, etc.
  </para>
  <para>
-  Si <link linkend="variable.security">$security</link> est actif,
+  Si <link linkend="variable.security"><parameter>$security</parameter></link> est actif,
   alors le tableau <emphasis>IF_FUNCS</emphasis> dans le tableau
-  <link linkend="variable.security.settings">$security_settings</link> (?!).
+  <link linkend="variable.security.settings"><parameter>$security_settings</parameter></link> (?!).
  </para>
  <para>
   La liste suivante présente les opérateurs reconnus, qui doivent être entourés d'espaces.