WS and added revision tags

This commit is contained in:
didou
2004-05-23 15:44:59 +00:00
parent 7f504b740f
commit c060c07ab8
12 changed files with 872 additions and 853 deletions

View File

@@ -1,41 +1,41 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ -->
<!-- EN-Revision: 1.1 Maintainer: nobody Status: partial -->
<sect1 id="language.function.capture">
<title>capture</title>
<sect1 id="language.function.capture">
<title>capture</title>
<para>
Capture est utilis<69> pour r<>cup<75>rer la sortie d'<27>l<EFBFBD>ments dans une variable
au lieu de les afficher. Tout contenu situ<74> entre {capture
name="foo"} et {/capture} est intercept<70> dans une variable dont le nom est
sp<73>cifi<66> dans l'attribut name. Le contenu captur<75> peut <20>tre utilis<69> dans
le template par l'interm<72>diaire de la variable sp<73>ciale $smarty.capture.foo
ou foo est la valeur de l'attribut name. Si vous ne donnez pas de valeur
<20> l'attribut name, alors "default" est utilis<69>. Toutes les commandes
{capture} doivent <20>tre utilis<69>es de paire avec {/capture}. Vous pouvez
imbriquer les demandes de captures.
</para>
<note>
<title>Note technique</title>
<para>
Capture est utilis<69> pour r<>cup<75>rer la sortie d'<27>l<EFBFBD>ments dans une variable
au lieu de les afficher. Tout contenu situ<74> entre {capture
name="foo"} et {/capture} est intercept<70> dans une variable dont le nom est
sp<EFBFBD>cifi<EFBFBD> dans l'attribut name. Le contenu captur<75> peut <20>tre utilis<69> dans
le template par l'interm<72>diaire de la variable sp<73>ciale $smarty.capture.foo
ou foo est la valeur de l'attribut name. Si vous ne donnez pas de valeur
<20> l'attribut name, alors "default" est utilis<69>. Toutes les commandes
{capture} doivent <20>tre utilis<69>es de paire avec {/capture}. Vous pouvez
imbriquer les demandes de captures.
Smarty 1.4.0 - 1.4.4 pla<6C>ait les contenus captur<75>s dans une variable
appel<EFBFBD>e $return. Depuis Smarty 1.4.5, ce comportement <20> <20>t<EFBFBD> modifi<66> et
Smarty utilise maintenant l'attribut name en lieu et place.
Veuillez donc mettre vos templates <20> jour selon cette r<>gle.
</para>
<note>
<title>Note technique</title>
<para>
Smarty 1.4.0 - 1.4.4 pla<6C>ait les contenus captur<75>s dans une variable
appel<65>e $return. Depuis Smarty 1.4.5, ce comportement <20> <20>t<EFBFBD> modifi<66> et
Smarty utilise maintenant l'attribut name en lieu et place.
Veuillez donc mettre vos templates <20> jour selon cette r<>gle.
</para>
</note>
<caution>
<para>
Faites attention lorsque vous interceptez la sortie de commandes
<command>insert</command>. Si vous avez configur<75> le cache pour que ce
dernier soit actif, et que vous avez des commandes <command>insert</command>
suppos<6F>es s'ex<65>cuter dans un contenu en cache, ne tentez pas de capturer
ce contenu.
</para>
</caution>
</note>
<caution>
<para>
<example>
<title>Capturer le contenu d'un template.</title>
<programlisting>
Faites attention lorsque vous interceptez la sortie de commandes
<command>insert</command>. Si vous avez configur<75> le cache pour que ce
dernier soit actif, et que vous avez des commandes <command>insert</command>
suppos<6F>es s'ex<65>cuter dans un contenu en cache, ne tentez pas de capturer
ce contenu.
</para>
</caution>
<para>
<example>
<title>Capturer le contenu d'un template.</title>
<programlisting>
<![CDATA[
{* nous ne voulons afficher une ligne que si cette derni<6E>re est activ<69>. *}
{capture name=banner}
@@ -49,10 +49,10 @@
</tr>
{/if}
]]>
</programlisting>
</example>
</para>
</sect1>
</programlisting>
</example>
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml

View File

@@ -1,78 +1,78 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ -->
<!-- EN-Revision: 1.1 Maintainer: nobody Status: partial -->
<sect1 id="language.function.config.load">
<title>config_load</title>
<informaltable frame="all">
<tgroup cols="5">
<colspec colname="param" align="center" />
<colspec colname="type" align="center" />
<colspec colname="required" align="center" />
<colspec colname="default" align="center" />
<colspec colname="desc" />
<thead>
<row>
<entry>Nom attribut</entry>
<entry>Type</entry>
<entry>Requis</entry>
<entry>Defaut</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry>file</entry>
<entry>cha<EFBFBD>ne de caract<63>re</entry>
<entry>Oui</entry>
<entry><emphasis>n/a</emphasis></entry>
<entry>Le nom du fichier de configuration <20> inclure</entry>
</row>
<row>
<entry>section</entry>
<entry>cha<EFBFBD>ne de caract<63>re</entry>
<entry>Non</entry>
<entry><emphasis>n/a</emphasis></entry>
<entry>Le nom de la section <20> charger</entry>
</row>
<row>
<entry>scope</entry>
<entry>cha<EFBFBD>ne de caract<63>re</entry>
<entry>non</entry>
<entry><emphasis>local</emphasis></entry>
<entry>
La fa<66>on dont la port<72>e des variables est d<>finie, soit
local, parent ou global. local signifie que la variable est
charg<EFBFBD>e dans le contexte du template. parent indique que
la variable est disponible tant dans le template qui
l'a inclus que dans le template parent, ayant r<>alis<69>
l'inclusion du sous template. global signifie que la variable
est diponible dans tous les templates.
</entry>
</row>
<row>
<entry>global</entry>
<entry>bool<EFBFBD>en</entry>
<entry>Non</entry>
<entry><emphasis>No</emphasis></entry>
<entry>
Si oui ou non les variables sont disponibles pour les
templates parents, identique <20> scope=parent.
Note: Cet attribut est obsol<6F>te depuis l'apparition
de l'attribut scope, il est toutefois toujours support<72>.
Si scope est d<>fini, global est ignor<6F>.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>
Cette fonction est utilise<73> pour charger des variables de fichier
de configuration dans un template. Voir <link linkend="config.files">
Fichiers de configuration</link> pour de plus amples informations.
</para>
<example>
<title>fonction config_load</title>
<programlisting>
<sect1 id="language.function.config.load">
<title>config_load</title>
<informaltable frame="all">
<tgroup cols="5">
<colspec colname="param" align="center" />
<colspec colname="type" align="center" />
<colspec colname="required" align="center" />
<colspec colname="default" align="center" />
<colspec colname="desc" />
<thead>
<row>
<entry>Nom attribut</entry>
<entry>Type</entry>
<entry>Requis</entry>
<entry>Defaut</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry>file</entry>
<entry>cha<EFBFBD>ne de caract<63>re</entry>
<entry>Oui</entry>
<entry><emphasis>n/a</emphasis></entry>
<entry>Le nom du fichier de configuration <20> inclure</entry>
</row>
<row>
<entry>section</entry>
<entry>cha<EFBFBD>ne de caract<63>re</entry>
<entry>Non</entry>
<entry><emphasis>n/a</emphasis></entry>
<entry>Le nom de la section <20> charger</entry>
</row>
<row>
<entry>scope</entry>
<entry>cha<EFBFBD>ne de caract<63>re</entry>
<entry>non</entry>
<entry><emphasis>local</emphasis></entry>
<entry>
La fa<66>on dont la port<72>e des variables est d<>finie, soit
local, parent ou global. local signifie que la variable est
charg<72>e dans le contexte du template. parent indique que
la variable est disponible tant dans le template qui
l'a inclus que dans le template parent, ayant r<>alis<69>
l'inclusion du sous template. global signifie que la variable
est diponible dans tous les templates.
</entry>
</row>
<row>
<entry>global</entry>
<entry>bool<EFBFBD>en</entry>
<entry>Non</entry>
<entry><emphasis>No</emphasis></entry>
<entry>
Si oui ou non les variables sont disponibles pour les
templates parents, identique <20> scope=parent.
Note: Cet attribut est obsol<6F>te depuis l'apparition
de l'attribut scope, il est toutefois toujours support<72>.
Si scope est d<>fini, global est ignor<6F>.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>
Cette fonction est utilise<73> pour charger des variables de fichier
de configuration dans un template. Voir <link linkend="config.files">
Fichiers de configuration</link> pour de plus amples informations.
</para>
<example>
<title>fonction config_load</title>
<programlisting>
<![CDATA[
{config_load file="colors.conf"}
@@ -89,23 +89,23 @@
</body>
</html>
]]>
</programlisting>
</example>
<para>
Les fichiers de configuration peuvent contenir des sections.
Vous pouvez charger des variables d'une section donn<6E>e avec le
nouvel attribut <emphasis>section</emphasis>.
</para>
<note>
<para>
Les <emphasis>sections des fichiers de configuration</emphasis>
et la fonction native <emphasis>section</emphasis> n'ont rien en
commun, il s'av<61>re simplement qu'elles portent le m<>me nom.
</para>
</note>
<example>
<title>fonction config_load et section</title>
<programlisting>
</programlisting>
</example>
<para>
Les fichiers de configuration peuvent contenir des sections.
Vous pouvez charger des variables d'une section donn<6E>e avec le
nouvel attribut <emphasis>section</emphasis>.
</para>
<note>
<para>
Les <emphasis>sections des fichiers de configuration</emphasis>
et la fonction native <emphasis>section</emphasis> n'ont rien en
commun, il s'av<61>re simplement qu'elles portent le m<>me nom.
</para>
</note>
<example>
<title>fonction config_load et section</title>
<programlisting>
<![CDATA[
{config_load file="colors.conf" section="client"}
@@ -122,9 +122,9 @@
</body>
</html>
]]>
</programlisting>
</example>
</sect1>
</programlisting>
</example>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml

View File

@@ -1,78 +1,78 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ -->
<!-- EN-Revision: 1.1 Maintainer: nobody Status: partial -->
<sect1 id="language.function.foreach">
<title>foreach,foreachelse</title>
<informaltable frame="all">
<tgroup cols="5">
<colspec colname="param" align="center" />
<colspec colname="type" align="center" />
<colspec colname="required" align="center" />
<colspec colname="default" align="center" />
<colspec colname="desc" />
<thead>
<row>
<entry>Nom attribut</entry>
<entry>Type</entry>
<entry>Requis</entry>
<entry>Defaut</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry>from</entry>
<entry>cha<EFBFBD>ne de caract<63>re</entry>
<entry>oui</entry>
<entry><emphasis>n/a</emphasis></entry>
<entry>Le nom du tableau <20> parcourir</entry>
</row>
<row>
<entry>item</entry>
<entry>cha<EFBFBD>ne de caract<63>re</entry>
<entry>Oui</entry>
<entry><emphasis>n/a</emphasis></entry>
<entry>Le nom de la variable "<22>l<EFBFBD>ment courant"</entry>
</row>
<row>
<entry>key</entry>
<entry>cha<EFBFBD>ne de caract<63>re</entry>
<entry>Non</entry>
<entry><emphasis>n/a</emphasis></entry>
<entry>Le nom de la variable repr<70>sentant la clef courante.</entry>
</row>
<row>
<entry>name</entry>
<entry>cha<EFBFBD>ne de caract<63>re</entry>
<entry>Non</entry>
<entry><emphasis>n/a</emphasis></entry>
<entry>Le nom de la boucle foreach, qui nous permettra
d'acc<63>der <20> ses propri<72>t<EFBFBD>s.</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>
Les boucles <emphasis>foreach</emphasis> sont une alternative aux boucles
<emphasis>section</emphasis>. Les boucles <emphasis>foreach</emphasis>
sont utilis<69>es pour parcourir des tableaux associatifs simples.
La syntaxe des boucles <emphasis>foreach</emphasis> est bien plus simple
que celle des boucles <emphasis>section</emphasis>, mais en contrepartie,
elles ne peuvent <20>tre utilis<69>es que pour des tableaux associatifs simples.
La balise <emphasis>foreach</emphasis> doit toujours <20>tre accompagn<67>e
de la balise <emphasis>/foreach</emphasis>. Les param<61>tres requis sont
<emphasis>from</emphasis> et <emphasis>item</emphasis>. Le nom des boucles
foreach doit <20>tre compos<6F>s exclusivement de lettres,
chiffres et underscores, selon vos pr<70>f<EFBFBD>rences. Les boucles
<emphasis>foreach</emphasis> peuvent <20>tre imbriqu<71>es.
La variable <emphasis>from</emphasis> (g<>n<EFBFBD>ralement le tableau <20>
parcourir) d<>termine le nombre de fois que <emphasis>foreach</emphasis>
sera ex<65>cut<75>. <emphasis>foreachelse</emphasis> est ex<65>cut<75> si aucune
valeur n'est pr<70>sente dans la variable donn<6E>e <20> l'attribut
<emphasis>from</emphasis>.
</para>
<example>
<title>foreach</title>
<sect1 id="language.function.foreach">
<title>foreach,foreachelse</title>
<informaltable frame="all">
<tgroup cols="5">
<colspec colname="param" align="center" />
<colspec colname="type" align="center" />
<colspec colname="required" align="center" />
<colspec colname="default" align="center" />
<colspec colname="desc" />
<thead>
<row>
<entry>Nom attribut</entry>
<entry>Type</entry>
<entry>Requis</entry>
<entry>Defaut</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry>from</entry>
<entry>cha<EFBFBD>ne de caract<63>re</entry>
<entry>oui</entry>
<entry><emphasis>n/a</emphasis></entry>
<entry>Le nom du tableau <20> parcourir</entry>
</row>
<row>
<entry>item</entry>
<entry>cha<EFBFBD>ne de caract<63>re</entry>
<entry>Oui</entry>
<entry><emphasis>n/a</emphasis></entry>
<entry>Le nom de la variable "<22>l<EFBFBD>ment courant"</entry>
</row>
<row>
<entry>key</entry>
<entry>cha<EFBFBD>ne de caract<63>re</entry>
<entry>Non</entry>
<entry><emphasis>n/a</emphasis></entry>
<entry>Le nom de la variable repr<70>sentant la clef courante.</entry>
</row>
<row>
<entry>name</entry>
<entry>cha<EFBFBD>ne de caract<63>re</entry>
<entry>Non</entry>
<entry><emphasis>n/a</emphasis></entry>
<entry>Le nom de la boucle foreach, qui nous permettra
d'acc<63>der <20> ses propri<72>t<EFBFBD>s.</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>
Les boucles <emphasis>foreach</emphasis> sont une alternative aux boucles
<emphasis>section</emphasis>. Les boucles <emphasis>foreach</emphasis>
sont utilis<69>es pour parcourir des tableaux associatifs simples.
La syntaxe des boucles <emphasis>foreach</emphasis> est bien plus simple
que celle des boucles <emphasis>section</emphasis>, mais en contrepartie,
elles ne peuvent <20>tre utilis<69>es que pour des tableaux associatifs simples.
La balise <emphasis>foreach</emphasis> doit toujours <20>tre accompagn<67>e
de la balise <emphasis>/foreach</emphasis>. Les param<61>tres requis sont
<emphasis>from</emphasis> et <emphasis>item</emphasis>. Le nom des boucles
foreach doit <20>tre compos<6F>s exclusivement de lettres,
chiffres et underscores, selon vos pr<70>f<EFBFBD>rences. Les boucles
<emphasis>foreach</emphasis> peuvent <20>tre imbriqu<71>es.
La variable <emphasis>from</emphasis> (g<>n<EFBFBD>ralement le tableau <20>
parcourir) d<>termine le nombre de fois que <emphasis>foreach</emphasis>
sera ex<65>cut<75>. <emphasis>foreachelse</emphasis> est ex<65>cut<75> si aucune
valeur n'est pr<70>sente dans la variable donn<6E>e <20> l'attribut
<emphasis>from</emphasis>.
</para>
<example>
<title>foreach</title>
<programlisting>
{* Cet exemple affiche toutes les valeurs du tableau $custid *}
@@ -85,10 +85,10 @@ SORTIE:
id: 1000&lt;br&gt;
id: 1001&lt;br&gt;
id: 1002&lt;br&gt;</programlisting>
</example>
</example>
<example>
<title>foreach key</title>
<example>
<title>foreach key</title>
<programlisting>
{* key contient la clef de chaque <20>l<EFBFBD>ment parcouru
@@ -113,7 +113,7 @@ portable: 3&lt;br&gt;
tel: 555-4444&lt;br&gt;
fax: 555-3333&lt;br&gt;
portable: 760-1234&lt;br&gt;</programlisting>
</example>
</example>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:

View File

@@ -1,21 +1,22 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ -->
<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",
"div by","even by","odd by","==","!=","&gt;", "&lt;","&lt;=","&gt;=" sont tous
des op<6F>rateurs conditionnels valides, et doivent obligatoirement <20>tre
s<>par<61>s des autres <20>l<EFBFBD>ments par des espaces.
</para>
<example>
<title>Instruction if</title>
<!-- EN-Revision: 1.1 Maintainer: nobody Status: partial -->
<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<EFBFBD>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",
"div by","even by","odd by","==","!=","&gt;", "&lt;","&lt;=","&gt;=" sont tous
des op<6F>rateurs conditionnels valides, et doivent obligatoirement <20>tre
s<>par<61>s des autres <20>l<EFBFBD>ments par des espaces.
</para>
<example>
<title>Instruction if</title>
<programlisting>
{if $name eq "Fred"}
Bienvenue, Monsieur.
@@ -78,7 +79,7 @@
{if $var is even by 3}
...
{/if}</programlisting>
</example>
</example>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:

View File

@@ -1,87 +1,88 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ -->
<sect1 id="language.function.include.php">
<title>include_php</title>
<informaltable frame="all">
<tgroup cols="5">
<colspec colname="param" align="center" />
<colspec colname="type" align="center" />
<colspec colname="required" align="center" />
<colspec colname="default" align="center" />
<colspec colname="desc" />
<thead>
<row>
<entry>Nom attribut</entry>
<entry>Type</entry>
<entry>Requis</entry>
<entry>Defaut</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry>file</entry>
<entry>cha<EFBFBD>ne de caract<63>re</entry>
<entry>oui</entry>
<entry><emphasis>n/a</emphasis></entry>
<entry>Le nom du fichier PHP <20> inclure</entry>
</row>
<row>
<entry>once</entry>
<entry>bol<EFBFBD>en</entry>
<entry>Non</entry>
<entry><emphasis>true</emphasis></entry>
<entry>Inclure plusieurs fois ou non le fichier PHP si
plusieurs demandes d'inclusions sont faites.</entry>
</row>
<row>
<entry>assign</entry>
<entry>cha<EFBFBD>ne de caract<63>re</entry>
<entry>Non</entry>
<entry><emphasis>n/a</emphasis></entry>
<entry>le nom de la variable PHP dans laquelle la sortie
sera assign<67>e plut<75>t que directement affich<63>e.</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>
les balises include_php sont utilis<69>es pour inclure directement
un script PHP dans vos templates. Si "security" est activ<69>, alors le script
<20> ex<65>cuter doit <20>tre plac<61> dans le chemin $trusted_dir. La balise
include_php attends l'attribut "file", qui contient le chemin du
fichier PHP <20> inclure, relatif <20> $trusted_dir, ou absolu.
</para>
<para>
include_php est un moyen agr<67>able pour g<>rer des "composants templates",
tout en conservant le code PHP en dehors du template lui m<>me.
Supposons que vous ayez un template reprenant la navigation de votre
site, elle m<>me r<>cup<75>r<EFBFBD>e depuis une base de donn<6E>es. Vous pouvez
conserver la logique du code PHP r<>cup<75>rant le contenu de la base dans
un emplacement s<>par<61>, et l'inclure depuis votre template. Maintenant,
vous pouvez utiliser ce template n'importe ou, sans vous inqui<75>ter de
savoir si les informations n<>cessaires ont bien <20>t<EFBFBD>s assign<67>es
par l'application, avant la demande d'affichage.
</para>
<para>
Par d<>faut, les fichiers PHP ne sont inclus qu'une seule fois, m<>me si
la demande d'inclusion survient plusieurs fois dans le template.
Vous pouvez demander <20> ce que ce fichier soit inclus <20> chaque demande
gr<67>ce <20> l'attribut <emphasis>once</emphasis>. Mettre l'attribut once <20>
false aura pour effet d'inclure le script PHP <20> chaque fois que demand<EFBFBD>
dans le template.
</para>
<para>
Vous pouvez donner une valeur <20> l'attribut optionnel
<emphasis>assign</emphasis>, pour demander <20> la fonction
<emphasis>include_php</emphasis> d'assigner la sortie du script PHP
<20> la variable sp<73>cifi<66>e plut<75>t que d'en afficher directement le r<>sultat.
</para>
<para>
L'objet Smarty est disponible en tant que $this dans le script PHP inclus.
</para>
<example>
<title>fonction include_php</title>
<!-- EN-Revision: 1.1 Maintainer: nobody Status: partial -->
<sect1 id="language.function.include.php">
<title>include_php</title>
<informaltable frame="all">
<tgroup cols="5">
<colspec colname="param" align="center" />
<colspec colname="type" align="center" />
<colspec colname="required" align="center" />
<colspec colname="default" align="center" />
<colspec colname="desc" />
<thead>
<row>
<entry>Nom attribut</entry>
<entry>Type</entry>
<entry>Requis</entry>
<entry>Defaut</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry>file</entry>
<entry>cha<EFBFBD>ne de caract<63>re</entry>
<entry>oui</entry>
<entry><emphasis>n/a</emphasis></entry>
<entry>Le nom du fichier PHP <20> inclure</entry>
</row>
<row>
<entry>once</entry>
<entry>bol<EFBFBD>en</entry>
<entry>Non</entry>
<entry><emphasis>true</emphasis></entry>
<entry>Inclure plusieurs fois ou non le fichier PHP si
plusieurs demandes d'inclusions sont faites.</entry>
</row>
<row>
<entry>assign</entry>
<entry>cha<EFBFBD>ne de caract<63>re</entry>
<entry>Non</entry>
<entry><emphasis>n/a</emphasis></entry>
<entry>le nom de la variable PHP dans laquelle la sortie
sera assign<67>e plut<75>t que directement affich<63>e.</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>
les balises include_php sont utilis<69>es pour inclure directement
un script PHP dans vos templates. Si "security" est activ<69>, alors le script
<EFBFBD> ex<65>cuter doit <20>tre plac<61> dans le chemin $trusted_dir. La balise
include_php attends l'attribut "file", qui contient le chemin du
fichier PHP <20> inclure, relatif <20> $trusted_dir, ou absolu.
</para>
<para>
include_php est un moyen agr<67>able pour g<>rer des "composants templates",
tout en conservant le code PHP en dehors du template lui m<>me.
Supposons que vous ayez un template reprenant la navigation de votre
site, elle m<>me r<>cup<75>r<EFBFBD>e depuis une base de donn<6E>es. Vous pouvez
conserver la logique du code PHP r<>cup<75>rant le contenu de la base dans
un emplacement s<>par<61>, et l'inclure depuis votre template. Maintenant,
vous pouvez utiliser ce template n'importe ou, sans vous inqui<75>ter de
savoir si les informations n<>cessaires ont bien <20>t<EFBFBD>s assign<67>es
par l'application, avant la demande d'affichage.
</para>
<para>
Par d<>faut, les fichiers PHP ne sont inclus qu'une seule fois, m<>me si
la demande d'inclusion survient plusieurs fois dans le template.
Vous pouvez demander <20> ce que ce fichier soit inclus <20> chaque demande
gr<EFBFBD>ce <20> l'attribut <emphasis>once</emphasis>. Mettre l'attribut once <EFBFBD>
false aura pour effet d'inclure le script PHP <20> chaque fois que demand<EFBFBD>
dans le template.
</para>
<para>
Vous pouvez donner une valeur <20> l'attribut optionnel
<emphasis>assign</emphasis>, pour demander <20> la fonction
<emphasis>include_php</emphasis> d'assigner la sortie du script PHP
<20> la variable sp<73>cifi<66>e plut<75>t que d'en afficher directement le r<>sultat.
</para>
<para>
L'objet Smarty est disponible en tant que $this dans le script PHP inclus.
</para>
<example>
<title>fonction include_php</title>
<programlisting>
load_nav.php
-------------
@@ -106,7 +107,7 @@ index.tpl
{foreach item="curr_section" from=$sections}
&lt;a href="{$curr_section.url}"&gt;{$curr_section.name}&lt;/a&gt;&lt;br&gt;
{/foreach}</programlisting>
</example>
</example>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:

View File

@@ -1,93 +1,94 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ -->
<sect1 id="language.function.include">
<title>include</title>
<informaltable frame="all">
<tgroup cols="5">
<colspec colname="param" align="center" />
<colspec colname="type" align="center" />
<colspec colname="required" align="center" />
<colspec colname="default" align="center" />
<colspec colname="desc" />
<thead>
<row>
<entry>Nom attribut</entry>
<entry>Type</entry>
<entry>Requis</entry>
<entry>Defaut</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry>file</entry>
<entry>cha<EFBFBD>ne de caract<63>res</entry>
<entry>Oui</entry>
<entry><emphasis>n/a</emphasis></entry>
<entry>Le nom du template <20> inclure</entry>
</row>
<row>
<entry>assign</entry>
<entry>cha<EFBFBD>ne de caract<63>res</entry>
<entry>Non</entry>
<entry><emphasis>n/a</emphasis></entry>
<entry>Le nom de la variable dans laquelle sera assign<67>e
la sortie de include</entry>
</row>
<row>
<entry>[var ...]</entry>
<entry>[type de variable]</entry>
<entry>Non</entry>
<entry><emphasis>n/a</emphasis></entry>
<entry>Variables <20> passer au template</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>
Les balises "include" sont utilis<69>es pour inclure des templates <20>
l'int<6E>rieur d'autres templates. Toutes les variables disponibles
dans le template r<>alisant l'inclusion sont disponibles dans le
template inclus. La balise include doit disposer de l'attribut
"file", qui contient le chemin de la ressource template.
</para>
<para>
Vous pouvez sp<73>cifier un attribut optionnel <emphasis>assign</emphasis>
qui d<>finit une variable de template dans laquelle la sortie de
<emphasis>include</emphasis> sera stock<63>e plut<75>t qu'affich<63>e.
</para>
<example>
<title>fonction include</title>
<!-- EN-Revision: 1.1 Maintainer: nobody Status: partial -->
<sect1 id="language.function.include">
<title>include</title>
<informaltable frame="all">
<tgroup cols="5">
<colspec colname="param" align="center" />
<colspec colname="type" align="center" />
<colspec colname="required" align="center" />
<colspec colname="default" align="center" />
<colspec colname="desc" />
<thead>
<row>
<entry>Nom attribut</entry>
<entry>Type</entry>
<entry>Requis</entry>
<entry>Defaut</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry>file</entry>
<entry>cha<EFBFBD>ne de caract<63>res</entry>
<entry>Oui</entry>
<entry><emphasis>n/a</emphasis></entry>
<entry>Le nom du template <20> inclure</entry>
</row>
<row>
<entry>assign</entry>
<entry>cha<EFBFBD>ne de caract<63>res</entry>
<entry>Non</entry>
<entry><emphasis>n/a</emphasis></entry>
<entry>Le nom de la variable dans laquelle sera assign<67>e
la sortie de include</entry>
</row>
<row>
<entry>[var ...]</entry>
<entry>[type de variable]</entry>
<entry>Non</entry>
<entry><emphasis>n/a</emphasis></entry>
<entry>Variables <20> passer au template</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>
Les balises "include" sont utilis<69>es pour inclure des templates <20>
l'int<6E>rieur d'autres templates. Toutes les variables disponibles
dans le template r<EFBFBD>alisant l'inclusion sont disponibles dans le
template inclus. La balise include doit disposer de l'attribut
"file", qui contient le chemin de la ressource template.
</para>
<para>
Vous pouvez sp<73>cifier un attribut optionnel <emphasis>assign</emphasis>
qui d<>finit une variable de template dans laquelle la sortie de
<emphasis>include</emphasis> sera stock<63>e plut<75>t qu'affich<63>e.
</para>
<example>
<title>fonction include</title>
<programlisting>
{include file="header.tpl"}
{* Le corp du template va ici *}
{include file="footer.tpl"}</programlisting>
</example>
<para>
Vous pouvez <20>galement passer des variables au template inclus
sous forme d'attributs. Les variables pass<73>es au template par ce moyen
ne sont accessibles que dans la port<72>e de ce dernier. Les variables
pass<73>es en tant qu'attribut remplacent les variables d<>j<EFBFBD> d<>finies,
qui auraient le m<>me nom.
</para>
<example>
<title>fonction include, passage de variables</title>
</example>
<para>
Vous pouvez <20>galement passer des variables au template inclus
sous forme d'attributs. Les variables pass<73>es au template par ce moyen
ne sont accessibles que dans la port<72>e de ce dernier. Les variables
pass<73>es en tant qu'attribut remplacent les variables d<>j<EFBFBD> d<>finies,
qui auraient le m<>me nom.
</para>
<example>
<title>fonction include, passage de variables</title>
<programlisting>
{include file="header.tpl" title="Menu principal" table_bgcolor="#c0c0c0"}
{* Le corps du template vient ici *}
{include file="footer.tpl" logo="http://mon.domaine.com/logo.gif"}</programlisting>
</example>
<para>
Utilisez la syntaxe <link
linkend="template.resources">ressource template</link> pour inclure
des fichiers situ<74>s en dehors du r<>pertoire $template_dir.
</para>
<example>
<title>fonction include, exemple de ressource template</title>
</example>
<para>
Utilisez la syntaxe <link
linkend="template.resources">ressource template</link> pour inclure
des fichiers situ<74>s en dehors du r<>pertoire $template_dir.
</para>
<example>
<title>fonction include, exemple de ressource template</title>
<programlisting>
{* chemin absolu *}
{include file="/usr/local/include/templates/header.tpl"}
@@ -100,7 +101,7 @@
{* inclusion d'une ressource template "db" *}
{include file="db:header.tpl"}</programlisting>
</example>
</example>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:

View File

@@ -1,143 +1,154 @@
Warning: Unknown modifier 'l' in /home/user/didou/cvs/smarty/docs/fr/designers/language-builtin-functions/clean.php on line 56
Warning: Unknown modifier 'l' in /home/user/didou/cvs/smarty/docs/fr/designers/language-builtin-functions/clean.php on line 56
Warning: Unknown modifier 'l' in /home/user/didou/cvs/smarty/docs/fr/designers/language-builtin-functions/clean.php on line 56
Warning: Unknown modifier 'l' in /home/user/didou/cvs/smarty/docs/fr/designers/language-builtin-functions/clean.php on line 56
Warning: Unknown modifier 'l' in /home/user/didou/cvs/smarty/docs/fr/designers/language-builtin-functions/clean.php on line 56
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ -->
<sect1 id="language.function.insert">
<title>insert</title>
<informaltable frame="all">
<tgroup cols="5">
<colspec colname="param" align="center" />
<colspec colname="type" align="center" />
<colspec colname="required" align="center" />
<colspec colname="default" align="center" />
<colspec colname="desc" />
<thead>
<row>
<entry>Nom attribut</entry>
<entry>Type</entry>
<entry>Requis</entry>
<entry>Defaut</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry>name</entry>
<entry>cha<EFBFBD>ne de caract<63>res</entry>
<entry>Oui</entry>
<entry><emphasis>n/a</emphasis></entry>
<entry>le nom de la fonction insert (insert_name)</entry>
</row>
<row>
<entry>assign</entry>
<entry>cha<EFBFBD>ne de caract<63>re</entry>
<entry>Non</entry>
<entry><emphasis>n/a</emphasis></entry>
<entry>Le nom de la variable qui recevra la sortie</entry>
</row>
<row>
<entry>script</entry>
<entry>cha<EFBFBD>ne de caract<63>res</entry>
<entry>Non</entry>
<entry><emphasis>n/a</emphasis></entry>
<entry>Le nom du script PHP inclus avant que la fonction
insert ne soit appel<65>e.</entry>
</row>
<row>
<entry>[var ...]</entry>
<entry>[var type]</entry>
<entry>Non</entry>
<entry><emphasis>n/a</emphasis></entry>
<entry>Variable <20> passer <20> la fonction insert</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>
Les balises insert fonctionnent <20> peu pr<70>s comme les balises include,
<20> l'exception que leur sortie n'est pas plac<61>e en cache lorsque
<link linkend="caching">le cache [caching]</link> est activ<69>.
Les balises insert seront ex<65>cut<75>es <20> chaque appel du template.
</para>
<para>
Supposons que vous avez un template avec un emplacement
pour un bandeau publicitaire en haut de page.
Ce bandeau publicitaire peut contenir toutes sortes de contenus
HTML, images, flash, etc. Nous ne pouvons pas placer du contenu
statique <20> cet endroit. Nous ne voulons pas non plus que ce
contenu fasse partie du cache. Arrive alors la balise insert.
Le template connais #emplacement_bandeau# et #id_site# (r<>cup<75>r<EFBFBD>s
depuis un fichier de configuration), et <20> besoin d'un appel de
fonction pour r<>cup<75>rer le contenu du bandeau.
</para>
<example>
<title>function insert</title>
<!-- EN-Revision: 1.1 Maintainer: nobody Status: partial -->
<sect1 id="language.function.insert">
<title>insert</title>
<informaltable frame="all">
<tgroup cols="5">
<colspec colname="param" align="center" />
<colspec colname="type" align="center" />
<colspec colname="required" align="center" />
<colspec colname="default" align="center" />
<colspec colname="desc" />
<thead>
<row>
<entry>Nom attribut</entry>
<entry>Type</entry>
<entry>Requis</entry>
<entry>Defaut</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry>name</entry>
<entry>cha<EFBFBD>ne de caract<63>res</entry>
<entry>Oui</entry>
<entry><emphasis>n/a</emphasis></entry>
<entry>le nom de la fonction insert (insert_name)</entry>
</row>
<row>
<entry>assign</entry>
<entry>cha<EFBFBD>ne de caract<63>re</entry>
<entry>Non</entry>
<entry><emphasis>n/a</emphasis></entry>
<entry>Le nom de la variable qui recevra la sortie</entry>
</row>
<row>
<entry>script</entry>
<entry>cha<EFBFBD>ne de caract<63>res</entry>
<entry>Non</entry>
<entry><emphasis>n/a</emphasis></entry>
<entry>Le nom du script PHP inclus avant que la fonction
insert ne soit appel<65>e.</entry>
</row>
<row>
<entry>[var ...]</entry>
<entry>[var type]</entry>
<entry>Non</entry>
<entry><emphasis>n/a</emphasis></entry>
<entry>Variable <20> passer <20> la fonction insert</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>
Les balises insert fonctionnent <20> peu pr<70>s comme les balises include,
<EFBFBD> l'exception que leur sortie n'est pas plac<EFBFBD>e en cache lorsque
<link linkend="caching">le cache [caching]</link> est activ<69>.
Les balises insert seront ex<65>cut<75>es <20> chaque appel du template.
</para>
<para>
Supposons que vous avez un template avec un emplacement
pour un bandeau publicitaire en haut de page.
Ce bandeau publicitaire peut contenir toutes sortes de contenus
HTML, images, flash, etc. Nous ne pouvons pas placer du contenu
statique <20> cet endroit. Nous ne voulons pas non plus que ce
contenu fasse partie du cache. Arrive alors la balise insert.
Le template connais #emplacement_bandeau# et #id_site# (r<>cup<75>r<EFBFBD>s
depuis un fichier de configuration), et <20> besoin d'un appel de
fonction pour r<>cup<75>rer le contenu du bandeau.
</para>
<example>
<title>function insert</title>
<programlisting>
{* exemple de r<>cup<75>ration d'un bandeau publicitaire *}
{insert name="getBanner" lid=#emplacement_bandeau# sid=#id_site#}</programlisting>
</example>
<para>
Dans cet exemple, nous utilisons le nom getBanner et lui passons les
param<61>tres #emplacement_bandeau# et #id_site#. Smarty va rechercher une
fonction appel<65>e insert_getBanner () dans votre application PHP, et lui
passer les valeurs #banner_location_id# et #site_id# comme premier
param<61>tre, dans un tableau associatif. Tous les noms des fonctions insert
de votre application doivent <20>tre prefix<69>es de "insert_" pour rem<65>dier
<20> d'<27>ventuels conflits de nommage. Votre fonction insert_getBanner ()
est suppos<6F>e traiter les valeurs pass<73>es et retourner
un r<>sultat. Ces r<>sultats sont affich<63>s dans le template en lieu et
place de la balise. Dans cet exemple, Smarty appellera cette fonction
insert_getBanner(array("lid" => "12345","sid" => "67890")); et affichera
le r<>sultat retourn<72> <20> la place de la balise insert.
</para>
<para>
Si vous donnez une valeur <20> l'attribut "assign", la sortie de la balise
insert sera assign<67> <20> une variable de template de ce nom au lieu d'<27>tre
affich<63>e directement. NOTE: assigner la sortie <20> une variable n'est pas
tr<74>s utile lorsque le cache est activ<69>.
</para>
<para>
Si vous donnez une valeur <20> l'attribut "script", ce script PHP sera
inclus (une seule fois) avant l'ex<65>cution de la fonction insert.
Le cas peut survenir lorsque la fonction insert n'existe pas encore,
et que le script PHP charg<72> de sa d<>finission doit <20>tre inclus. Le
chemin doit <20>tre absolu ou relatif <20> $trusted_dir.
Lorsque "security" est actif, le script doit <20>tre situ<74>
dans $trusted_dir.
</para>
<para>
L'objet Smarty est pass<73> comme second argument. De cette fa<66>on, vous
pouvez utiliser ou modifier des informations sur l'objet Smarty,
directement depuis votre fonction d'insertion.
</para>
<note>
<title>Note technique</title>
<para>
Il est possible d'avoir des portions de template qui ne soient pas
g<>rables par le cache. M<>me si vous avez activ<69> l'option
<link linkend="caching">caching</link>, les balises insert
ne feront pas partie du cache. Elles retourneront un contenu dynamique
<20> chaque invocation de la page. Cette m<>thode est tr<74>s pratique pour
des <20>l<EFBFBD>ments tels que les bandeaux publicitaires, les enqu<71>tes,
la m<>t<EFBFBD>o, les r<>sultats de recherche, retours utilisateurs, etc.
</para>
</note>
</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
-->
</example>
<para>
Dans cet exemple, nous utilisons le nom getBanner et lui passons les
param<61>tres #emplacement_bandeau# et #id_site#. Smarty va rechercher une
fonction appel<65>e insert_getBanner () dans votre application PHP, et lui
passer les valeurs #banner_location_id# et #site_id# comme premier
param<61>tre, dans un tableau associatif. Tous les noms des fonctions insert
de votre application doivent <20>tre prefix<69>es de "insert_" pour rem<65>dier
<20> d'<27>ventuels conflits de nommage. Votre fonction insert_getBanner ()
est suppos<6F>e traiter les valeurs pass<73>es et retourner
un r<>sultat. Ces r<>sultats sont affich<63>s dans le template en lieu et
place de la balise. Dans cet exemple, Smarty appellera cette fonction
insert_getBanner(array("lid" => "12345","sid" => "67890")); et affichera
le r<>sultat retourn<72> <20> la place de la balise insert.
</para>
<para>
Si vous donnez une valeur <20> l'attribut "assign", la sortie de la balise
insert sera assign<67> <20> une variable de template de ce nom au lieu d'<27>tre
affich<63>e directement. NOTE: assigner la sortie <20> une variable n'est pas
tr<74>s utile lorsque le cache est activ<69>.
</para>
<para>
Si vous donnez une valeur <20> l'attribut "script", ce script PHP sera
inclus (une seule fois) avant l'ex<65>cution de la fonction insert.
Le cas peut survenir lorsque la fonction insert n'existe pas encore,
et que le script PHP charg<72> de sa d<>finission doit <20>tre inclus. Le
chemin doit <20>tre absolu ou relatif <20> $trusted_dir.
Lorsque "security" est actif, le script doit <20>tre situ<74>
dans $trusted_dir.
</para>
<para>
L'objet Smarty est pass<73> comme second argument. De cette fa<66>on, vous
pouvez utiliser ou modifier des informations sur l'objet Smarty,
directement depuis votre fonction d'insertion.
</para>
<note>
<title>Note technique</title>
<para>
Il est possible d'avoir des portions de template qui ne soient pas
g<>rables par le cache. M<>me si vous avez activ<69> l'option
<link linkend="caching">caching</link>, les balises insert
ne feront pas partie du cache. Elles retourneront un contenu dynamique
<20> chaque invocation de la page. Cette m<>thode est tr<74>s pratique pour
des <20>l<EFBFBD>ments tels que les bandeaux publicitaires, les enqu<71>tes,
la m<>t<EFBFBD>o, les r<>sultats de recherche, retours utilisateurs, etc.
</para>
</note>
</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
-->

View File

@@ -1,15 +1,16 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ -->
<sect1 id="language.function.ldelim">
<title>ldelim,rdelim</title>
<para>
ldelim et rdelim sont utilis<69>s pour afficher les d<>limiteurs en tant
que tels, dans notre cas "{" ou "}". Le moteur de template tentera
toujours d'interpr<70>ter le contenu entre les d<>limiteurs, c'est donc
une fa<66>on d'afficher ces derniers sans interf<72>rer avec Smarty.
</para>
<example>
<title>ldelim, rdelim</title>
<!-- EN-Revision: 1.1 Maintainer: nobody Status: partial -->
<sect1 id="language.function.ldelim">
<title>ldelim,rdelim</title>
<para>
ldelim et rdelim sont utilis<69>s pour afficher les d<>limiteurs en tant
que tels, dans notre cas "{" ou "}". Le moteur de template tentera
toujours d'interpr<70>ter le contenu entre les d<>limiteurs, c'est donc
une fa<66>on d'afficher ces derniers sans interf<72>rer avec Smarty.
</para>
<example>
<title>ldelim, rdelim</title>
<programlisting>
{* Affiche les d<>limiteurs de template *}
@@ -19,7 +20,7 @@
SORTIE:
{nomFonction} est la fa<66>on dont sont appel<65>es les fonctions dans Smarty !</programlisting>
</example>
</example>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:

View File

@@ -1,17 +1,18 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ -->
<sect1 id="language.function.literal">
<title>literal</title>
<para>
Les balises "literal" permettent <20> un bloc de donn<6E>es d'<27>tre pris tel
quel, sans qu'il ne soit interpr<70>t<EFBFBD> par Smarty. Tr<54>s pratique lors
de l'emplois d'<27>l<EFBFBD>ments tels que javascript, acolades et autres
qui peuvent confondre le moteur de template. Tout le contenu situ<74>
entre les balises {literal}{/literal} ne sera pas interpr<70>t<EFBFBD>, et
affich<63> comme du contenu statique.
</para>
<example>
<title>balises literal</title>
<!-- EN-Revision: 1.1 Maintainer: nobody Status: partial -->
<sect1 id="language.function.literal">
<title>literal</title>
<para>
Les balises "literal" permettent <20> un bloc de donn<6E>es d'<27>tre pris tel
quel, sans qu'il ne soit interpr<70>t<EFBFBD> par Smarty. Tr<54>s pratique lors
de l'emplois d'<27>l<EFBFBD>ments tels que javascript, acolades et autres
qui peuvent confondre le moteur de template. Tout le contenu situ<74>
entre les balises {literal}{/literal} ne sera pas interpr<70>t<EFBFBD>, et
affich<63> comme du contenu statique.
</para>
<example>
<title>balises literal</title>
<programlisting>
{literal}
&lt;script language=javascript&gt;
@@ -30,7 +31,7 @@
&lt;/script&gt;
{/literal}</programlisting>
</example>
</example>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:

View File

@@ -1,23 +1,24 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ -->
<sect1 id="language.function.php">
<title>php</title>
<para>
Les balises PHP permettent de rajouter du code PHP directement dans le
template. Ils ne seront pas ignor<6F>s, quelle que soit la valeur de <link
linkend="variable.php.handling">$php_handling</link>. Pour les
utilisateurs avanc<6E>s seulement, son utilisation n'est normalement pas
n<>cessaire.
</para>
<example>
<title>balises php</title>
<!-- EN-Revision: 1.1 Maintainer: nobody Status: partial -->
<sect1 id="language.function.php">
<title>php</title>
<para>
Les balises PHP permettent de rajouter du code PHP directement dans le
template. Ils ne seront pas ignor<6F>s, quelle que soit la valeur de <link
linkend="variable.php.handling">$php_handling</link>. Pour les
utilisateurs avanc<6E>s seulement, son utilisation n'est normalement pas
n<>cessaire.
</para>
<example>
<title>balises php</title>
<programlisting>
{php}
// inclusion directe d'un script PHP
// depuis le template.
include("/path/to/display_weather.php");
{/php}</programlisting>
</example>
</example>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:

View File

@@ -1,100 +1,101 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ -->
<sect1 id="language.function.section">
<title>section,sectionelse</title>
<informaltable frame="all">
<tgroup cols="5">
<colspec colname="param" align="center" />
<colspec colname="type" align="center" />
<colspec colname="required" align="center" />
<colspec colname="default" align="center" />
<colspec colname="desc" />
<thead>
<row>
<entry>Nom attribut</entry>
<entry>Type</entry>
<entry>Requis</entry>
<entry>Defaut</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry>name</entry>
<entry>cha<EFBFBD>ne de caract<63>re</entry>
<entry>Oui</entry>
<entry><emphasis>n/a</emphasis></entry>
<entry>Le nom de la section</entry>
</row>
<row>
<entry>loop</entry>
<entry>[$nom_variable]</entry>
<entry>Oui</entry>
<entry><emphasis>n/a</emphasis></entry>
<entry>le nom de la variable qui d<>termine le nombre de
fois que la boucle sera ex<65>cut<75>e.
</entry>
</row>
<row>
<entry>start</entry>
<entry>entier</entry>
<entry>Non</entry>
<entry><emphasis>0</emphasis></entry>
<entry>La position de l'index ou la section commencera son
parcours. Si la valeur donn<6E>e est n<>gative, la position de
d<>part est calcul<75>e depuis la fin du tableau. Par exemple,
s'il existe 7 valeurs dans le tableau <20> parcourir et que start
est <20> -2, l'index de d<>part sera 5. Les valeurs incorrectes
(en dehors de la port<72>e du tableau) sont automatiquements
tronqu<71>es <20> la valeur correcte la plus proche.</entry>
</row>
<row>
<entry>step</entry>
<entry>entier</entry>
<entry>Non</entry>
<entry><emphasis>1</emphasis></entry>
<entry>La valeur du pas qui sera utilis<69> pour parcourir le
tableau.Par exemple, step=2 parcourera les indices
0,2,4, etc. Si step est n<>gatif, le tableau sera parcouru en sens
inverse.</entry>
</row>
<row>
<entry>max</entry>
<entry>entier</entry>
<entry>Non</entry>
<entry><emphasis>1</emphasis></entry>
<entry>D<EFBFBD>finit le nombre maximum de fois que le tableau sera
parcouru.</entry>
</row>
<row>
<entry>show</entry>
<entry>bool<EFBFBD>en</entry>
<entry>Non</entry>
<entry><emphasis>true</emphasis></entry>
<entry>D<EFBFBD>termine s'il est n<>cessaire d'afficher la
section ou non.</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>
Les balises <emphasis>section</emphasis> sont utilis<69>es pour
parcourir un tableau de donn<6E>es. Toutes les balises
<emphasis>section</emphasis> doivent <20>tre utilis<69>es de paire avec
les balises <emphasis>/section</emphasis>. Les param<61>tres requis
sont <emphasis>name</emphasis> et <emphasis>loop</emphasis>.
Le nom de la section est, selon votre choix, compos<6F> de lettres,
chiffres et underscores. Les sections peuvent <20>tre imbriqu<71>es,
mais leurs noms doivent <20>tre uniques. La variable de parcours
(g<>n<EFBFBD>ralement un tableau de donn<6E>es) d<>termine le nombre de fois
que la section sera parcourue. Lorsque l'on affiche une variable
dans une section, le nom de la section doit pr<70>c<EFBFBD>der
la variable entre crochets. <emphasis>sectionelse</emphasis>
est ex<65>cut<75> lorsqu'aucune valeur n'est trouv<75>e dans la variable <20>
parcourir.
</para>
<example>
<title>section</title>
<!-- EN-Revision: 1.1 Maintainer: nobody Status: partial -->
<sect1 id="language.function.section">
<title>section,sectionelse</title>
<informaltable frame="all">
<tgroup cols="5">
<colspec colname="param" align="center" />
<colspec colname="type" align="center" />
<colspec colname="required" align="center" />
<colspec colname="default" align="center" />
<colspec colname="desc" />
<thead>
<row>
<entry>Nom attribut</entry>
<entry>Type</entry>
<entry>Requis</entry>
<entry>Defaut</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry>name</entry>
<entry>cha<EFBFBD>ne de caract<63>re</entry>
<entry>Oui</entry>
<entry><emphasis>n/a</emphasis></entry>
<entry>Le nom de la section</entry>
</row>
<row>
<entry>loop</entry>
<entry>[$nom_variable]</entry>
<entry>Oui</entry>
<entry><emphasis>n/a</emphasis></entry>
<entry>le nom de la variable qui d<>termine le nombre de
fois que la boucle sera ex<65>cut<75>e.
</entry>
</row>
<row>
<entry>start</entry>
<entry>entier</entry>
<entry>Non</entry>
<entry><emphasis>0</emphasis></entry>
<entry>La position de l'index ou la section commencera son
parcours. Si la valeur donn<6E>e est n<>gative, la position de
d<EFBFBD>part est calcul<75>e depuis la fin du tableau. Par exemple,
s'il existe 7 valeurs dans le tableau <20> parcourir et que start
est <20> -2, l'index de d<>part sera 5. Les valeurs incorrectes
(en dehors de la port<72>e du tableau) sont automatiquements
tronqu<EFBFBD>es <20> la valeur correcte la plus proche.</entry>
</row>
<row>
<entry>step</entry>
<entry>entier</entry>
<entry>Non</entry>
<entry><emphasis>1</emphasis></entry>
<entry>La valeur du pas qui sera utilis<69> pour parcourir le
tableau.Par exemple, step=2 parcourera les indices
0,2,4, etc. Si step est n<>gatif, le tableau sera parcouru en sens
inverse.</entry>
</row>
<row>
<entry>max</entry>
<entry>entier</entry>
<entry>Non</entry>
<entry><emphasis>1</emphasis></entry>
<entry>D<EFBFBD>finit le nombre maximum de fois que le tableau sera
parcouru.</entry>
</row>
<row>
<entry>show</entry>
<entry>bool<EFBFBD>en</entry>
<entry>Non</entry>
<entry><emphasis>true</emphasis></entry>
<entry>D<EFBFBD>termine s'il est n<>cessaire d'afficher la
section ou non.</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>
Les balises <emphasis>section</emphasis> sont utilis<EFBFBD>es pour
parcourir un tableau de donn<6E>es. Toutes les balises
<emphasis>section</emphasis> doivent <20>tre utilis<69>es de paire avec
les balises <emphasis>/section</emphasis>. Les param<61>tres requis
sont <emphasis>name</emphasis> et <emphasis>loop</emphasis>.
Le nom de la section est, selon votre choix, compos<6F> de lettres,
chiffres et underscores. Les sections peuvent <20>tre imbriqu<71>es,
mais leurs noms doivent <20>tre uniques. La variable de parcours
(g<>n<EFBFBD>ralement un tableau de donn<6E>es) d<>termine le nombre de fois
que la section sera parcourue. Lorsque l'on affiche une variable
dans une section, le nom de la section doit pr<70>c<EFBFBD>der
la variable entre crochets. <emphasis>sectionelse</emphasis>
est ex<65>cut<75> lorsqu'aucune valeur n'est trouv<75>e dans la variable <20>
parcourir.
</para>
<example>
<title>section</title>
<programlisting>
{* Cet exemple va afficher toutes les valeurs du tableau $custid *}
@@ -107,10 +108,10 @@ SORTIE:
id: 1000&lt;br&gt;
id: 1001&lt;br&gt;
id: 1002&lt;br&gt;</programlisting>
</example>
</example>
<example>
<title>section, variable de parcours</title>
<example>
<title>section, variable de parcours</title>
<programlisting>
{* La variable de parcours d<>termine uniquement le nombre de fois que nous allons
rentrer dans la boucle. Vous pouvez acc<63>der <20> toutes les variables du template
@@ -139,10 +140,10 @@ id: 1002&lt;br&gt;
nom: Jane Munson&lt;br&gt;
addresse: 5605 apple st&lt;br&gt;
&lt;p&gt;</programlisting>
</example>
</example>
<example>
<title>nom de section</title>
<example>
<title>nom de section</title>
<programlisting>
{* Le nom de la section peut <20>tre ce que vous voulez,
et est utilis<69> pour r<>f<EFBFBD>rencer les donn<6E>es depuis la section. *}
@@ -152,10 +153,10 @@ addresse: 5605 apple st&lt;br&gt;
address: {$addresses[monTableau]}&lt;br&gt;
&lt;p&gt;
{/section}</programlisting>
</example>
</example>
<example>
<title>sections imbriqu<71>es</title>
<example>
<title>sections imbriqu<71>es</title>
<programlisting>
{* Les sections peuvent <20>tre imbriqu<71>es <20> un nombre de niveaux illimit<69>.
Gr<47>ce aux sections imbriqu<71>es, vous pouvez acc<63>der <20> des structures de donn<6E>es
@@ -196,10 +197,10 @@ telephone: 555-555-5555&lt;br&gt;
telephone portable: 555-555-5555&lt;br&gt;
e-mail: jane@mydomain.com&lt;br&gt;
&lt;p&gt;</programlisting>
</example>
</example>
<example>
<title>Sections et tableaux associatifs</title>
<example>
<title>Sections et tableaux associatifs</title>
<programlisting>
{* Exemple d'affichage d'un tableau associatif dans une section *}
{section name=client loop=$contacts}
@@ -224,12 +225,12 @@ nom: Jane Munson&lt;br&gt;
telephone: 555-555-5555&lt;br&gt;
portable: 555-555-5555&lt;br&gt;
e-mail: jane@mydomain.com&lt;p&gt;</programlisting>
</example>
</example>
<example>
<title>sectionelse</title>
<example>
<title>sectionelse</title>
<programlisting>
{* sectionelse est ex<65>cut<75> s'il n'existe aucune valeur dans idClient *}
{section name=client loop=$idClient}
@@ -237,36 +238,36 @@ e-mail: jane@mydomain.com&lt;p&gt;</programlisting>
{sectionelse}
Aucune valeur dans $idClient.
{/section}</programlisting>
</example>
<para>
Les sections ont leur propre variable de gestion des propri<72>t<EFBFBD>s.
Elles sont de la forme: {$smarty.section.nomSection.nomVariable}
</para>
<para>
NOTE: Depuis Smarty 1.5.0, la syntaxe pour les propi<70>t<EFBFBD>s des sections
a <20>t<EFBFBD> chang<6E>e de {%sectionname.varname%} <20>
{$smarty.section.nomSection.nomVariable}. L'ancienne syntaxe est toujours
support<72>e, mais vous ne verrez que des exemples avec la nouvelle syntaxe
dans le manuel.
</para>
<sect2 id="section.property.index">
<title>index</title>
<para>
Index est utilis<69> pour afficher l'index de parcours courant, commence par
0 (ou l'attribut start), et s'incr<63>mente de 1 (ou de la valeur
de l'attribut step).
</para>
<note>
<title>Note technique</title>
<para>
Si les attributs step et start ne sont pas modifi<66>s, alors index
fonctionne de la m<>me fa<66>on que iteration, <20> l'exception qu'il commence
par 0 plut<75>t que par 1.
</para>
</note>
<example>
<title>propri<EFBFBD>t<EFBFBD> de section index</title>
<programlisting>
</example>
<para>
Les sections ont leur propre variable de gestion des propri<72>t<EFBFBD>s.
Elles sont de la forme: {$smarty.section.nomSection.nomVariable}
</para>
<para>
NOTE: Depuis Smarty 1.5.0, la syntaxe pour les propi<70>t<EFBFBD>s des sections
a <20>t<EFBFBD> chang<6E>e de {%sectionname.varname%} <20>
{$smarty.section.nomSection.nomVariable}. L'ancienne syntaxe est toujours
support<72>e, mais vous ne verrez que des exemples avec la nouvelle syntaxe
dans le manuel.
</para>
<sect2 id="section.property.index">
<title>index</title>
<para>
Index est utilis<69> pour afficher l'index de parcours courant, commence par
0 (ou l'attribut start), et s'incr<63>mente de 1 (ou de la valeur
de l'attribut step).
</para>
<note>
<title>Note technique</title>
<para>
Si les attributs step et start ne sont pas modifi<66>s, alors index
fonctionne de la m<>me fa<66>on que iteration, <20> l'exception qu'il commence
par 0 plut<75>t que par 1.
</para>
</note>
<example>
<title>propri<EFBFBD>t<EFBFBD> de section index</title>
<programlisting>
{section name=client loop=$idClient}
{$smarty.section.client.index} id: {$idClient[client]}&lt;br&gt;
{/section}
@@ -278,17 +279,17 @@ e-mail: jane@mydomain.com&lt;p&gt;</programlisting>
1 id: 1001&lt;br&gt;
2 id: 1002&lt;br&gt;
</programlisting>
</example>
</sect2>
<sect2 id="section.property.index.prev">
<title>index_prev</title>
<para>
index_prev est utilis<69> pour afficher l'index de parcours
pr<70>c<EFBFBD>dent de la boucle. Au premier passage, il vaut -1.
</para>
<example>
<title>propri<EFBFBD>t<EFBFBD> de section index_prev</title>
<programlisting>
</example>
</sect2>
<sect2 id="section.property.index.prev">
<title>index_prev</title>
<para>
index_prev est utilis<69> pour afficher l'index de parcours
pr<70>c<EFBFBD>dent de la boucle. Au premier passage, il vaut -1.
</para>
<example>
<title>propri<EFBFBD>t<EFBFBD> de section index_prev</title>
<programlisting>
{section name=client loop=$custid}
{$smarty.section.client.index} id: {$idClient[client]}&lt;br&gt;
{* Pour votre information, $idClient[client.index] and $idClient[client] sont identiques *}
@@ -307,18 +308,18 @@ e-mail: jane@mydomain.com&lt;p&gt;</programlisting>
2 id: 1002&lt;br&gt;
L'id du client <20> <20>t<EFBFBD> modifi<66>&lt;br&gt;
</programlisting>
</example>
</sect2>
<sect2 id="section.property.index.next">
<title>index_next</title>
<para>
index_next est utilis<69> pour afficher la valeur th<74>orique suivante de
index. Dans la derni<6E>re boucle, cela reste la valeur incr<63>ment<6E>e,
qui respecte l'attribut step si donn<6E>.
</para>
<example>
<title>propri<EFBFBD>t<EFBFBD> de section index_next</title>
<programlisting>
</example>
</sect2>
<sect2 id="section.property.index.next">
<title>index_next</title>
<para>
index_next est utilis<69> pour afficher la valeur th<74>orique suivante de
index. Dans la derni<6E>re boucle, cela reste la valeur incr<63>ment<6E>e,
qui respecte l'attribut step si donn<6E>.
</para>
<example>
<title>propri<EFBFBD>t<EFBFBD> de section index_next</title>
<programlisting>
{section name=client loop=$idClient}
{$smarty.section.client.index} id: {$idClient[client]}&lt;br&gt;
{* Pour votre information, $idClient[client.index] and $idClient[client] sont identiques *}
@@ -337,22 +338,22 @@ e-mail: jane@mydomain.com&lt;p&gt;</programlisting>
2 id: 1002&lt;br&gt;
L'id du client va changer&lt;br&gt;
</programlisting>
</example>
</sect2>
<sect2 id="section.property.iteration">
<title>iteration</title>
<para>
iteration est utilis<69> pour afficher la valeur courante de l'iteration.
</para>
<para>
NOTE: Cette valeur n'est pas affect<63>e par les attributs start, step et
max, <20> l'inverse de la propri<72>t<EFBFBD> index. L'it<69>ration commence par
1 et non par 0 (comme le fait index). rownum est un alias de iteration,
ils fonctionnent de la m<>me fa<66>on.
</para>
<example>
<title>propri<EFBFBD>t<EFBFBD> iteration de section</title>
<programlisting>
</example>
</sect2>
<sect2 id="section.property.iteration">
<title>iteration</title>
<para>
iteration est utilis<69> pour afficher la valeur courante de l'iteration.
</para>
<para>
NOTE: Cette valeur n'est pas affect<63>e par les attributs start, step et
max, <20> l'inverse de la propri<72>t<EFBFBD> index. L'it<69>ration commence par
1 et non par 0 (comme le fait index). rownum est un alias de iteration,
ils fonctionnent de la m<>me fa<66>on.
</para>
<example>
<title>propri<EFBFBD>t<EFBFBD> iteration de section</title>
<programlisting>
{section name=client loop=$idClient start=5 step=2}
Iteration courante: {$smarty.section.client.iteration}&lt;br&gt;
{$smarty.section.client.index} id: {$idClient[client]}&lt;br&gt;
@@ -375,16 +376,16 @@ e-mail: jane@mydomain.com&lt;p&gt;</programlisting>
9 id: 1002&lt;br&gt;
L'id du client va changer&lt;br&gt;
</programlisting>
</example>
</sect2>
<sect2 id="section.property.first">
<title>first</title>
<para>
first est <20> true lorsque la section est parcouru pour la premi<6D>re fois.
</para>
<example>
<title>propri<EFBFBD>t<EFBFBD> first de la section</title>
<programlisting>
</example>
</sect2>
<sect2 id="section.property.first">
<title>first</title>
<para>
first est <20> true lorsque la section est parcouru pour la premi<6D>re fois.
</para>
<example>
<title>propri<EFBFBD>t<EFBFBD> first de la section</title>
<programlisting>
{section name=client loop=$idClient}
{if $smarty.section.client.first}
&lt;table&gt;
@@ -407,16 +408,16 @@ e-mail: jane@mydomain.com&lt;p&gt;</programlisting>
&lt;tr&gt;&lt;td&gt;2 id: 1002&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</programlisting>
</example>
</sect2>
<sect2 id="section.property.last">
<title>last</title>
<para>
last est <20> true lorsque la section est parcourue pour la derni<6E>re fois.
</para>
<example>
<title>Propri<EFBFBD>t<EFBFBD> last de section</title>
<programlisting>
</example>
</sect2>
<sect2 id="section.property.last">
<title>last</title>
<para>
last est <20> true lorsque la section est parcourue pour la derni<6E>re fois.
</para>
<example>
<title>Propri<EFBFBD>t<EFBFBD> last de section</title>
<programlisting>
{section name=client loop=$idClient}
{if $smarty.section.client.first}
&lt;table&gt;
@@ -439,18 +440,18 @@ e-mail: jane@mydomain.com&lt;p&gt;</programlisting>
&lt;tr&gt;&lt;td&gt;2 id: 1002&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</programlisting>
</example>
</sect2>
<sect2 id="section.property.rownum">
<title>rownum</title>
<para>
rownum, utilis<69> pour afficher la valeur courante de l'it<69>ration,
commence par 1. C'est un alias de iteration, ils fonctionnent de fa<66>on
identique.
</para>
<example>
<title>propri<EFBFBD>t<EFBFBD> rownum de section</title>
<programlisting>
</example>
</sect2>
<sect2 id="section.property.rownum">
<title>rownum</title>
<para>
rownum, utilis<69> pour afficher la valeur courante de l'it<69>ration,
commence par 1. C'est un alias de iteration, ils fonctionnent de fa<66>on
identique.
</para>
<example>
<title>propri<EFBFBD>t<EFBFBD> rownum de section</title>
<programlisting>
{section name=client loop=$idClient}
{$smarty.section.client.rownum} id: {$idClient[client]}&lt;br&gt;
{/section}
@@ -462,17 +463,17 @@ e-mail: jane@mydomain.com&lt;p&gt;</programlisting>
2 id: 1001&lt;br&gt;
3 id: 1002&lt;br&gt;
</programlisting>
</example>
</sect2>
<sect2 id="section.property.loop">
<title>loop</title>
<para>
loop est utilis<69> pour afficher la derni<6E>re valeur de index que cette
section a utilis<69>. Peut <20>tre utilis<69> dans ou en dehors de la section.
</para>
<example>
<title>Propri<EFBFBD>t<EFBFBD> de section index</title>
<programlisting>
</example>
</sect2>
<sect2 id="section.property.loop">
<title>loop</title>
<para>
loop est utilis<69> pour afficher la derni<6E>re valeur de index que cette
section a utilis<69>. Peut <20>tre utilis<69> dans ou en dehors de la section.
</para>
<example>
<title>Propri<EFBFBD>t<EFBFBD> de section index</title>
<programlisting>
{section name=client loop=$idClient}
{$smarty.section.client.index} id: {$idClient[client]}&lt;br&gt;
{/section}
@@ -487,19 +488,19 @@ e-mail: jane@mydomain.com&lt;p&gt;</programlisting>
il y eu 3 clients d'affich<63>s.
</programlisting>
</example>
</sect2>
<sect2 id="section.property.show">
<title>show</title>
<para>
<emphasis>show</emphasis> est utilis<69> comme param<61>tre de section.
<emphasis>show</emphasis> est une valeur bool<6F>enne, true ou false.
Si show est <20> "false", la section ne sera pas affich<63>e. Si un
sectionelse est pr<70>sent, elle sera affich<63>.
</para>
<example>
<title>section, attribut show</title>
<programlisting>
</example>
</sect2>
<sect2 id="section.property.show">
<title>show</title>
<para>
<emphasis>show</emphasis> est utilis<69> comme param<61>tre de section.
<emphasis>show</emphasis> est une valeur bool<6F>enne, true ou false.
Si show est <20> "false", la section ne sera pas affich<63>e. Si un
sectionelse est pr<70>sent, elle sera affich<63>.
</para>
<example>
<title>section, attribut show</title>
<programlisting>
{* $show_client_info a pu <20>tre pass<73> par le script PHP,
pour d<>terminer si oui ou non on souhaite afficher la section *}
{section name=client loop=$idClient show=$show_client_info}
@@ -521,17 +522,17 @@ e-mail: jane@mydomain.com&lt;p&gt;</programlisting>
la section <20> <20>t<EFBFBD> affich<63>e.
</programlisting>
</example>
</sect2>
<sect2 id="section.property.total">
<title>total</title>
<para>
total est utilis<69> pour afficher le nombre d'it<69>ration que la section
va ex<65>cuter. Peut <20>tre utilis<69> dans ou en dehors de la section.
</para>
<example>
<title>section, propri<72>t<EFBFBD> total</title>
<programlisting>
</example>
</sect2>
<sect2 id="section.property.total">
<title>total</title>
<para>
total est utilis<69> pour afficher le nombre d'it<69>ration que la section
va ex<65>cuter. Peut <20>tre utilis<69> dans ou en dehors de la section.
</para>
<example>
<title>section, propri<72>t<EFBFBD> total</title>
<programlisting>
{section name=client loop=$idClient step=2}
{$smarty.section.client.index} id: {$idClient[client]}&lt;br&gt;
{/section}
@@ -546,8 +547,8 @@ e-mail: jane@mydomain.com&lt;p&gt;</programlisting>
Il y eu 3 clients affich<63>s.
</programlisting>
</example>
</sect2>
</example>
</sect2>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:

View File

@@ -1,31 +1,32 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ -->
<sect1 id="language.function.strip">
<title>strip</title>
<para>
Il est fr<66>quent que les designers web rencontrent des probl<62>mes
dus aux espaces et retours chariots, qui affectent le rendu HTML
("fonctionnalit<69>s" des navigateurs), les obligeant <20> coller les
balises les unes aux autres. Cette solution rend g<>n<EFBFBD>ralement le
code illisible et impossible <20> maintenir.
</para>
<para>
Tout contenu situ<74> entre les balises {strip}{/strip} se verra
all<6C>g<EFBFBD> des espaces superflus et des retours chariots en d<>but ou en fin
de ligne, avant qu'il ne soit affich<63>s. De la sorte, vous pouvez
conserver vos templates lisibles, sans vous soucier des effets
ind<6E>sirables que peuvent apporter les espaces superflus.
</para>
<note>
<title>Note technique</title>
<para>
{strip}{/strip} n'affecte en aucun cas le contenu des variables de
template. Voir le <link linkend="language.modifier.strip">modificateur
strip</link> pour un rendu identique pour les variables.
</para>
</note>
<example>
<title>balises strip</title>
<!-- EN-Revision: 1.1 Maintainer: nobody Status: partial -->
<sect1 id="language.function.strip">
<title>strip</title>
<para>
Il est fr<EFBFBD>quent que les designers web rencontrent des probl<62>mes
dus aux espaces et retours chariots, qui affectent le rendu HTML
("fonctionnalit<69>s" des navigateurs), les obligeant <20> coller les
balises les unes aux autres. Cette solution rend g<>n<EFBFBD>ralement le
code illisible et impossible <20> maintenir.
</para>
<para>
Tout contenu situ<74> entre les balises {strip}{/strip} se verra
all<EFBFBD>g<EFBFBD> des espaces superflus et des retours chariots en d<>but ou en fin
de ligne, avant qu'il ne soit affich<63>s. De la sorte, vous pouvez
conserver vos templates lisibles, sans vous soucier des effets
ind<6E>sirables que peuvent apporter les espaces superflus.
</para>
<note>
<title>Note technique</title>
<para>
{strip}{/strip} n'affecte en aucun cas le contenu des variables de
template. Voir le <link linkend="language.modifier.strip">modificateur
strip</link> pour un rendu identique pour les variables.
</para>
</note>
<example>
<title>balises strip</title>
<programlisting>
{* la suite sera affich<63>e sur une seule ligne *}
{strip}
@@ -44,14 +45,14 @@
SORTIE:
&lt;table border=0&gt;&lt;tr&gt;&lt;td&gt;&lt;A HREF="http://mon.domaine.com"&gt;&lt;font color="red"&gt;Un test&lt;/font&gt;&lt;/A&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</programlisting>
</example>
<para>
Notez que dans l'exemple ci-dessus, toutes les lignes commencent et
se terminent par des balises HTML. Sachez que si vous avez du texte
en d<>but ou en fin de ligne dans des balises strip, ce dernier sera coll<6C>
au suivant/pr<70>c<EFBFBD>dent et risque de ne pas <20>tre affich<63> selon
l'effet d<>sir<69>.
</para>
</example>
<para>
Notez que dans l'exemple ci-dessus, toutes les lignes commencent et
se terminent par des balises HTML. Sachez que si vous avez du texte
en d<>but ou en fin de ligne dans des balises strip, ce dernier sera coll<6C>
au suivant/pr<70>c<EFBFBD>dent et risque de ne pas <20>tre affich<63> selon
l'effet d<>sir<69>.
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables: