sync with EN

This commit is contained in:
yannick
2005-05-10 21:15:40 +00:00
parent 610b3aa2f0
commit dd858b927f
11 changed files with 542 additions and 427 deletions

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="iso-8859-1"?> <?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ --> <!-- $Revision$ -->
<!-- EN-Revision: 1.5 Maintainer: didou Status: ready --> <!-- EN-Revision: 1.6 Maintainer: didou Status: ready -->
<chapter id="tips"> <chapter id="tips">
<title>Trucs et astuces</title> <title>Trucs et astuces</title>
<para></para> <para></para>
@@ -11,7 +11,8 @@
d<>faut pour une variable qui n'a pas <20>t<EFBFBD> assign<67>e, comme d<>faut pour une variable qui n'a pas <20>t<EFBFBD> assign<67>e, comme
pour afficher "&amp;nbsp;" afin que les couleurs de fond pour afficher "&amp;nbsp;" afin que les couleurs de fond
des tableaux fonctionnent. Beaucoup utiliseraient une des tableaux fonctionnent. Beaucoup utiliseraient une
instruction {if} pour g<>rer cel<65>, mais il existe un moyen instruction <link linkend="language.function.if">{if}</link>
pour g<>rer cel<65>, mais il existe un moyen
plus facile dans Smarty : l'utilisation du modificateur plus facile dans Smarty : l'utilisation du modificateur
de variable <emphasis>default</emphasis>. de variable <emphasis>default</emphasis>.
</para> </para>
@@ -34,6 +35,11 @@
]]> ]]>
</programlisting> </programlisting>
</example> </example>
<para>
Voir aussi
<link linkend="language.modifier.default">default</link> et
<link linkend="tips.default.var.handling">la gestion des variables par d<>faut</link>.
</para>
</sect1> </sect1>
<sect1 id="tips.default.var.handling"> <sect1 id="tips.default.var.handling">
@@ -56,6 +62,11 @@
]]> ]]>
</programlisting> </programlisting>
</example> </example>
<para>
Voir aussi
<link linkend="language.modifier.default">default</link> et
<link linkend="tips.blank.var.handling">la gestion des variables non-assign<67>es</link>.
</para>
</sect1> </sect1>
<sect1 id="tips.passing.vars"> <sect1 id="tips.passing.vars">
<title>Passage du titre <20> un template d'en-t<>te</title> <title>Passage du titre <20> un template d'en-t<>te</title>
@@ -124,7 +135,7 @@ footer.tpl
<para> <para>
A partir Smarty 1.4.0, vous pouvez passer les dates <20> Smarty A partir Smarty 1.4.0, vous pouvez passer les dates <20> Smarty
sous la forme de timestamps Unix ou MySQL, ou tout autre format de dates sous la forme de timestamps Unix ou MySQL, ou tout autre format de dates
que comprend strtotime(). que comprend <ulink url="&url.php-manual;strtotime">strtotime()</ulink>.
</para> </para>
</note> </note>
<example> <example>
@@ -164,7 +175,8 @@ Jan 4, 2001
</programlisting> </programlisting>
</example> </example>
<para> <para>
En utilisant la fonction {html_select_date} dans un template, le programmeur En utilisant la fonction <link linkend="language.function.html.select.date">{html_select_date}</link>
dans un template, le programmeur
veut en g<>n<EFBFBD>ral convertir le r<>sultat d'un formulaire en un timestamp. veut en g<>n<EFBFBD>ral convertir le r<>sultat d'un formulaire en un timestamp.
Voici une fonction qui devrait vous <20>tre utile. Voici une fonction qui devrait vous <20>tre utile.
</para> </para>
@@ -271,7 +283,8 @@ function insert_header()
Traditionnellemnt, la programmation avec des templates dans les applications Traditionnellemnt, la programmation avec des templates dans les applications
se d<>roule de la fa<66>on suivante : d'abord vous r<>cup<75>rez vos variables se d<>roule de la fa<66>on suivante : d'abord vous r<>cup<75>rez vos variables
dans l'application PHP (peut-<2D>tre avec des requ<71>tes en base de donn<6E>es), puis dans l'application PHP (peut-<2D>tre avec des requ<71>tes en base de donn<6E>es), puis
vous instanciez votre objet Smarty, assignez les variables et affichez le vous instanciez votre objet Smarty, <link linkend="api.assign">assignez</link>
les variables et <link linkend="api.display">affichez</link> le
template. Disons par exemple que nous avons un t<>l<EFBFBD>scripteur dans template. Disons par exemple que nous avons un t<>l<EFBFBD>scripteur dans
notre template. Nous r<>cup<75>rerions les donn<6E>es dans notre application, notre template. Nous r<>cup<75>rerions les donn<6E>es dans notre application,
puis les assignerions ensuite pour les afficher. Mais ne serait-ce pas puis les assignerions ensuite pour les afficher. Mais ne serait-ce pas
@@ -320,6 +333,12 @@ Stock Name: {$ticker.name} Stock Price: {$ticker.price}
]]> ]]>
</programlisting> </programlisting>
</example> </example>
<para>
Voir aussi
<link linkend="language.function.include.php">{include_php}</link>,
<link linkend="language.function.include">{include}</link> et
<link linkend="language.function.php">{php}</link>.
</para>
</sect1> </sect1>
<sect1 id="tips.obfuscating.email"> <sect1 id="tips.obfuscating.email">
<title>Dissimuler les adresses email</title> <title>Dissimuler les adresses email</title>
@@ -350,6 +369,10 @@ Send inquiries to
peu probable. peu probable.
</para> </para>
</note> </note>
<para>
Voir aussi
<link linkend="language.modifier.escape">escape</link>.
</para>
</sect1> </sect1>
</chapter> </chapter>
<!-- Keep this comment at the end of the file <!-- Keep this comment at the end of the file

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="iso-8859-1"?> <?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ --> <!-- $Revision$ -->
<!-- EN-Revision: 1.3 Maintainer: gerald Status: ready --> <!-- EN-Revision: 1.4 Maintainer: gerald Status: ready -->
<sect1 id="language.syntax.quotes"> <sect1 id="language.syntax.quotes">
<title>Variables ins<6E>r<EFBFBD>es dans des cha<68>nes de caract<63>res</title> <title>Variables ins<6E>r<EFBFBD>es dans des cha<68>nes de caract<63>res</title>
<para> <para>
@@ -16,7 +16,7 @@
<title>Syntaxe d'insertion de variables dans des cha<68>nes</title> <title>Syntaxe d'insertion de variables dans des cha<68>nes</title>
<programlisting> <programlisting>
<![CDATA[ <![CDATA[
EXEMPLE DE SYNTAXE: EXEMPLE DE SYNTAXE :
{func var="test $foo test"} <-- comprends $foo {func var="test $foo test"} <-- comprends $foo
{func var="test $foo_bar test"} <-- comprends $foo_bar {func var="test $foo_bar test"} <-- comprends $foo_bar
{func var="test $foo[0] test"} <-- comprends $foo[0] {func var="test $foo[0] test"} <-- comprends $foo[0]
@@ -31,6 +31,10 @@ EXEMPLE PRATIQUE:
]]> ]]>
</programlisting> </programlisting>
</example> </example>
<para>
Voir aussi
<link linkend="language.modifier.escape">escape</link>.
</para>
</sect1> </sect1>
<!-- Keep this comment at the end of the file <!-- Keep this comment at the end of the file
Local variables: Local variables:

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="iso-8859-1"?> <?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ --> <!-- $Revision$ -->
<!-- EN-Revision: 1.3 Maintainer: yannick Status: ready --> <!-- EN-Revision: 1.4 Maintainer: yannick Status: ready -->
<sect1 id="language.syntax.variables"> <sect1 id="language.syntax.variables">
<title>Variables</title> <title>Variables</title>
<para> <para>
@@ -39,6 +39,11 @@ Plusieurs autres combinaisons sont autoris
]]> ]]>
</programlisting> </programlisting>
</example> </example>
<para>
Voir aussi
<link linkend="language.variables.smarty">les variables r<>serv<72>es $smarty</link> et
<link linkend="language.config.variables">les variables de configuration</link>.
</para>
</sect1> </sect1>
<!-- Keep this comment at the end of the file <!-- Keep this comment at the end of the file
Local variables: Local variables:

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="iso-8859-1"?> <?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ --> <!-- $Revision$ -->
<!-- EN-Revision: 1.5 Maintainer: gerald Status: ready --> <!-- EN-Revision: 1.6 Maintainer: gerald Status: ready -->
<sect1 id="language.function.config.load"> <sect1 id="language.function.config.load">
<title>config_load</title> <title>config_load</title>
<informaltable frame="all"> <informaltable frame="all">
@@ -128,7 +128,7 @@
<para> <para>
Voir aussi Voir aussi
<link linkend="config.files">les fichiers de configuration</link> et <link linkend="config.files">les fichiers de configuration</link> et
<link linkend="language.function.config.load">config_load</link>. <link linkend="language.config.variables">les variables de configuration</link>.
</para> </para>
</sect1> </sect1>
<!-- Keep this comment at the end of the file <!-- Keep this comment at the end of the file

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="iso-8859-1"?> <?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ --> <!-- $Revision$ -->
<!-- EN-Revision: 1.2 Maintainer: gerald Status: ready --> <!-- EN-Revision: 1.4 Maintainer: gerald Status: ready -->
<sect1 id="language.function.foreach"> <sect1 id="language.function.foreach">
<title>foreach,foreachelse</title> <title>foreach,foreachelse</title>
<informaltable frame="all"> <informaltable frame="all">
@@ -54,7 +54,8 @@
</informaltable> </informaltable>
<para> <para>
Les boucles <emphasis>foreach</emphasis> sont une alternative aux boucles Les boucles <emphasis>foreach</emphasis> sont une alternative aux boucles
<emphasis>section</emphasis>. Les boucles <emphasis>foreach</emphasis> <link linkend="language.function.section"><emphasis>section</emphasis></link>.
Les boucles <emphasis>foreach</emphasis>
sont utilis<69>es pour parcourir des tableaux associatifs simples. sont utilis<69>es pour parcourir des tableaux associatifs simples.
La syntaxe des boucles <emphasis>foreach</emphasis> est bien plus simple La syntaxe des boucles <emphasis>foreach</emphasis> est bien plus simple
que celle des boucles <emphasis>section</emphasis>, mais en contrepartie, que celle des boucles <emphasis>section</emphasis>, mais en contrepartie,
@@ -73,47 +74,116 @@
</para> </para>
<example> <example>
<title>foreach</title> <title>foreach</title>
<programlisting> <programlisting>
<![CDATA[
{* Cet exemple affiche toutes les valeurs du tableau $custid *} {* Cet exemple affiche toutes les valeurs du tableau $custid *}
{foreach from=$custid item=curr_id} {foreach from=$custid item=curr_id}
id: {$curr_id}&lt;br&gt; id: {$curr_id}<br />
{/foreach} {/foreach}
]]>
</programlisting>
<para>
L'exemple ci-dessus affichera :
</para>
<screen>
<![CDATA[
SORTIE: id: 1000<br />
id: 1001<br />
id: 1000&lt;br&gt; id: 1002<br />
id: 1001&lt;br&gt; ]]>
id: 1002&lt;br&gt;</programlisting> </screen>
</example> </example>
<example> <example>
<title>foreach key</title> <title>foreach key</title>
<programlisting> <programlisting>
<![CDATA[
{* key contient la clef de chaque <20>l<EFBFBD>ment parcouru {* key contient la clef de chaque <20>l<EFBFBD>ment parcouru
l'attribution des <20>l<EFBFBD>ment est de la forme: l'attribution des <20>l<EFBFBD>ment est de la forme:
$smarty->assign("contacts", array(array("tel" =&gt; "1", "fax" =&gt; "2", "portable" =&gt; "3"), $smarty->assign("contacts", array(array("tel" => "1", "fax" => "2", "portable" => "3"),
array("tel" =&gt; "555-4444", "fax" =&gt; "555-3333", "portable" =&gt; "760-1234"))); array("tel" => "555-4444", "fax" => "555-3333", "portable" => "760-1234")));
*} *}
{foreach name=outer item=contact from=$contacts} {foreach name=outer item=contact from=$contacts}
{foreach key=key item=item from=$contact} {foreach key=key item=item from=$contact}
{$key}: {$item}&lt;br&gt; {$key}: {$item}<br />
{/foreach} {/foreach}
{/foreach} {/foreach}
]]>
SORTIE: </programlisting>
<para>
tel: 1&lt;br&gt; L'exemple ci-dessus affichera :
fax: 2&lt;br&gt; </para>
portable: 3&lt;br&gt; <screen>
tel: 555-4444&lt;br&gt; <![CDATA[
fax: 555-3333&lt;br&gt; tel: 1<br />
portable: 760-1234&lt;br&gt;</programlisting> fax: 2<br />
portable: 3<br />
tel: 555-4444<br />
fax: 555-3333<br />
portable: 760-1234<br />
]]>
</screen>
</example> </example>
<para>
Les boucles Foreach ont <20>galement leurs propres variables qui g<>rent les propri<72>t<EFBFBD>s
de foreach. Elles sont indiqu<71>es par : {$smarty.foreach.foreachname.varname}
o<> foreachname est le nom sp<73>cifi<66> par l'attribut <emphasis>name</emphasis>
de foreach.
</para>
<sect2 id="foreach.property.iteration">
<title>iteration</title>
<para>
<emphasis>iteration</emphasis> est utilis<69> pour afficher l'it<69>ration de la boucle courante.
</para>
<para>
<emphasis>iteration</emphasis> commence toujours par 1 et est incr<63>ment<6E>
<20> chaque it<69>ration.
</para>
</sect2>
<sect2 id="foreach.property.first">
<title>first</title>
<para>
<emphasis>first</emphasis> est d<>fini <20> true si l'it<69>ration courante de foreach est la premi<6D>re.
</para>
</sect2>
<sect2 id="foreach.property.last">
<title>last</title>
<para>
<emphasis>last</emphasis> est d<>fini <20> true si l'it<69>ration courante de foreach est la derni<6E>re.
</para>
</sect2>
<sect2 id="foreach.property.show">
<title>show</title>
<para>
<emphasis>show</emphasis> est utilis<69> en tant que param<61>tre de foreach.
<emphasis>show</emphasis> est un bool<6F>en (true ou false).
S'il vaut false, foreach ne sera pas affich<63>. Si foreachelse est pr<70>sent,
il sera affich<63> alternativement.
</para>
</sect2>
<sect2 id="foreach.property.total">
<title>total</title>
<para>
<emphasis>total</emphasis> est utilis<69> pour afficher le nombre d'it<69>rations
boucl<63>es par ce foreach. Il peut <20>tre utilis<69> dans ou apr<70>s le foreach.
</para>
<para>
Voir aussi
<link linkend="language.function.section">{section}</link> et
<link linkend="language.variables.smarty.loops">$smarty.foreach</link>.
</para>
</sect2>
</sect1> </sect1>
<!-- Keep this comment at the end of the file <!-- Keep this comment at the end of the file
Local variables: Local variables:

View File

@@ -1,207 +1,209 @@
<?xml version="1.0" encoding="iso-8859-1"?> <?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ --> <!-- $Revision$ -->
<!-- EN-Revision: 1.2 Maintainer: gerald Status: ready --> <!-- EN-Revision: 1.3 Maintainer: gerald Status: ready -->
<sect1 id="language.function.if"> <sect1 id="language.function.if">
<title>if,elseif,else</title> <title>if,elseif,else</title>
<para> <para>
l'instruction if dans Smarty dispose de la m<>me flexibilit<69> que l'instruction L'instruction <emphasis>{if}</emphasis> 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 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 moteur de template. Tous les <emphasis>{if}</emphasis> doivent <20>tre
utilis<69>s de pair avec un <emphasis>/if</emphasis>. utilis<69>s de pair avec un <emphasis>{/if}</emphasis>.
<emphasis>else</emphasis> et <emphasis>elseif</emphasis> sont <20>galement <emphasis>{else}</emphasis> et <emphasis>{elseif}</emphasis> sont <20>galement
des balises autoris<69>es. "eq", "ne","neq", "gt", "lt", "lte", "le", des balises autoris<69>es. Toutes les conditions PHP sont reconnues,
"gte" "ge","is even","is odd", "is not even","is not odd","not","mod", comme <emphasis>||</emphasis>, <emphasis>or</emphasis>,
"div by","even by","odd by","==", "===", "!=","&gt;", "&lt;","&lt;=","&gt;=" sont tous des op<6F>rateurs conditionnels valides, et doivent obligatoirement <20>tre <emphasis>&amp;&amp;</emphasis>, <emphasis>and</emphasis>, etc.
s<>par<61>s des autres <20>l<EFBFBD>ments par des espaces.
</para> </para>
<para> <para>
La liste suivante pr<70>sente les op<6F>rateurs reconnus, qui doivent <20>tre entour<75>s d'espaces. La liste suivante pr<70>sente les op<6F>rateurs reconnus, qui doivent <20>tre entour<75>s d'espaces.
Remarquez que les <20>l<EFBFBD>ments list<73>s entre [crochets] sont optionnels. Les <20>quivalents Remarquez que les <20>l<EFBFBD>ments list<73>s entre [crochets] sont optionnels. Les <20>quivalents
PHP sont indiqu<71>s lorsque applicables. PHP sont indiqu<71>s lorsque applicables.
</para> </para>
<informaltable frame="all"> <informaltable frame="all">
<tgroup cols="4"> <tgroup cols="4">
<colspec colname="qualifier" align="center" /> <colspec colname="qualifier" align="center" />
<colspec colname="alternates" align="center" /> <colspec colname="alternates" align="center" />
<colspec colname="meaning" /> <colspec colname="meaning" />
<colspec colname="example" /> <colspec colname="example" />
<colspec colname="php" /> <colspec colname="php" />
<thead> <thead>
<row> <row>
<entry>Op<EFBFBD>rateur</entry> <entry>Op<EFBFBD>rateur</entry>
<entry>Syntaxe alternative</entry> <entry>Syntaxe alternative</entry>
<entry>Exemple de syntaxe</entry> <entry>Exemple de syntaxe</entry>
<entry>Signification</entry> <entry>Signification</entry>
<entry>Equivalent PHP</entry> <entry>Equivalent PHP</entry>
</row> </row>
</thead> </thead>
<tbody> <tbody>
<row> <row>
<entry>==</entry> <entry>==</entry>
<entry>eq</entry> <entry>eq</entry>
<entry>$a eq $b</entry> <entry>$a eq $b</entry>
<entry><EFBFBD>galit<EFBFBD></entry> <entry><EFBFBD>galit<EFBFBD></entry>
<entry>==</entry> <entry>==</entry>
</row> </row>
<row> <row>
<entry>!=</entry> <entry>!=</entry>
<entry>ne, neq</entry> <entry>ne, neq</entry>
<entry>$a neq $b</entry> <entry>$a neq $b</entry>
<entry>diff<EFBFBD>rence</entry> <entry>diff<EFBFBD>rence</entry>
<entry>!=</entry> <entry>!=</entry>
</row> </row>
<row> <row>
<entry>&gt;</entry> <entry>&gt;</entry>
<entry>gt</entry> <entry>gt</entry>
<entry>$a gt $b</entry> <entry>$a gt $b</entry>
<entry>sup<EFBFBD>rieur <20></entry> <entry>sup<EFBFBD>rieur <20></entry>
<entry>&gt;</entry> <entry>&gt;</entry>
</row> </row>
<row> <row>
<entry>&lt;</entry> <entry>&lt;</entry>
<entry>lt</entry> <entry>lt</entry>
<entry>$a lt $b</entry> <entry>$a lt $b</entry>
<entry>inf<EFBFBD>rieur <20></entry> <entry>inf<EFBFBD>rieur <20></entry>
<entry>&lt;</entry> <entry>&lt;</entry>
</row> </row>
<row> <row>
<entry>&gt;=</entry> <entry>&gt;=</entry>
<entry>gte, ge</entry> <entry>gte, ge</entry>
<entry>$a ge $b</entry> <entry>$a ge $b</entry>
<entry>sup<EFBFBD>rieur ou <20>gal <20></entry> <entry>sup<EFBFBD>rieur ou <20>gal <20></entry>
<entry>&gt;=</entry> <entry>&gt;=</entry>
</row> </row>
<row> <row>
<entry>&lt;=</entry> <entry>&lt;=</entry>
<entry>lte, le</entry> <entry>lte, le</entry>
<entry>$a le $b</entry> <entry>$a le $b</entry>
<entry>inf<EFBFBD>rieur ou <20>gal <20></entry> <entry>inf<EFBFBD>rieur ou <20>gal <20></entry>
<entry>&lt;=</entry> <entry>&lt;=</entry>
</row> </row>
<row> <row>
<entry>====</entry> <entry>===</entry>
<entry></entry> <entry></entry>
<entry>$a === 0</entry> <entry>$a === 0</entry>
<entry><EFBFBD>galit<EFBFBD> (type et valeur)</entry> <entry><EFBFBD>galit<EFBFBD> (type et valeur)</entry>
<entry>====</entry> <entry>===</entry>
</row> </row>
<row> <row>
<entry>!</entry> <entry>!</entry>
<entry>not</entry> <entry>not</entry>
<entry>not $a</entry> <entry>not $a</entry>
<entry>n<EFBFBD>gation</entry> <entry>n<EFBFBD>gation</entry>
<entry>!</entry> <entry>!</entry>
</row> </row>
<row> <row>
<entry>%</entry> <entry>%</entry>
<entry>mod</entry> <entry>mod</entry>
<entry>$a mod $b</entry> <entry>$a mod $b</entry>
<entry>modulo</entry> <entry>modulo</entry>
<entry>%</entry> <entry>%</entry>
</row> </row>
<row> <row>
<entry>is [not] div by</entry> <entry>is [not] div by</entry>
<entry></entry> <entry></entry>
<entry>$a is not div by 4</entry> <entry>$a is not div by 4</entry>
<entry>divisible par</entry> <entry>divisible par</entry>
<entry>$a % $b == 0</entry> <entry>$a % $b == 0</entry>
</row> </row>
<row> <row>
<entry>is [not] even</entry> <entry>is [not] even</entry>
<entry></entry> <entry></entry>
<entry>$a is not even</entry> <entry>$a is not even</entry>
<entry>est [ou non] un nombre pair</entry> <entry>est [ou non] un nombre pair</entry>
<entry>$a % 2 == 0</entry> <entry>$a % 2 == 0</entry>
</row> </row>
<row> <row>
<entry>is [not] even by</entry> <entry>is [not] even by</entry>
<entry></entry> <entry></entry>
<entry>$a is not even by $b</entry> <entry>$a is not even by $b</entry>
<entry>parit<EFBFBD>e de groupe</entry> <entry>parit<EFBFBD>e de groupe</entry>
<entry>($a / $b) % 2 == 0</entry> <entry>($a / $b) % 2 == 0</entry>
</row> </row>
<row> <row>
<entry>is [not] odd</entry> <entry>is [not] odd</entry>
<entry></entry> <entry></entry>
<entry>$a is not odd</entry> <entry>$a is not odd</entry>
<entry>est [ou non] un nombre impair</entry> <entry>est [ou non] un nombre impair</entry>
<entry>$a % 2 != 0</entry> <entry>$a % 2 != 0</entry>
</row> </row>
<row> <row>
<entry>is [not] odd by</entry> <entry>is [not] odd by</entry>
<entry></entry> <entry></entry>
<entry>$a is not odd by $b</entry> <entry>$a is not odd by $b</entry>
<entry>est [ou non] un groupe impair</entry> <entry>est [ou non] un groupe impair</entry>
<entry>($a / $b) % 2 != 0</entry> <entry>($a / $b) % 2 != 0</entry>
</row> </row>
</tbody> </tbody>
</tgroup> </tgroup>
</informaltable> </informaltable>
<example> <example>
<title>Instruction if</title> <title>Instruction if</title>
<programlisting> <programlisting>
{if $name eq "Fred"} <![CDATA[
Bienvenue, Monsieur. {if $name eq "Fred"}
{elseif $name eq "Wilma"} Bienvenue, Monsieur.
Bienvenue m'dame. {elseif $name eq "Wilma"}
{else} Bienvenue m'dame.
Bienvenue, qui que vous soyez. {else}
{/if} Bienvenue, qui que vous soyez.
{/if}
{* Un exemple avec l'op<6F>rateur or *} {* Un exemple avec l'op<6F>rateur or *}
{if $name eq "Fred" or $name eq "Wilma"} {if $name eq "Fred" or $name eq "Wilma"}
... ...
{/if} {/if}
{* m<>me chose que ci-dessus *} {* m<>me chose que ci-dessus *}
{if $name == "Fred" || $name == "Wilma"} {if $name == "Fred" || $name == "Wilma"}
... ...
{/if} {/if}
{* l'exemple suivant NE fonctionne PAS, les op<6F>rateurs {* l'exemple suivant NE fonctionne PAS, les op<6F>rateurs
doivent <20>tre entour<75>s d'espaces. *} doivent <20>tre entour<75>s d'espaces. *}
{if $name=="Fred" || $name=="Wilma"} {if $name=="Fred" || $name=="Wilma"}
... ...
{/if} {/if}
{* les parenth<74>ses sont autoris<69>es *} {* les parenth<74>ses sont autoris<69>es *}
{if ( $amount &lt; 0 or $amount &gt; 1000 ) and $volume &gt;= #minVolAmt#} {if ( $amount < 0 or $amount > 1000 ) and $volume >= #minVolAmt#}
... ...
{/if} {/if}
{* vous pouvez <20>galement faire appel aux fonctions PHP *} {* vous pouvez <20>galement faire appel aux fonctions PHP *}
{if count($var) gt 0} {if count($var) gt 0}
... ...
{/if} {/if}
{* teste si les valeurs sont paires(even) ou impaires(odd) *} {* teste si les valeurs sont paires(even) ou impaires(odd) *}
{if $var is even} {if $var is even}
... ...
{/if} {/if}
{if $var is odd} {if $var is odd}
... ...
{/if} {/if}
{if $var is not odd} {if $var is not odd}
... ...
{/if} {/if}
{* teste si la variable est divisble par 4 *} {* teste si la variable est divisible par 4 *}
{if $var is div by 4} {if $var is div by 4}
... ...
{/if} {/if}
{* teste si la variable est paire, par groupe de deux i.e., {* teste si la variable est paire, par groupe de deux i.e.,
0=paire, 1=paire, 2=impaire, 3=impaire, 4=paire, 5=paire, etc. *} 0=paire, 1=paire, 2=impaire, 3=impaire, 4=paire, 5=paire, etc. *}
{if $var is even by 2} {if $var is even by 2}
... ...
{/if} {/if}
{* 0=paire, 1=paire, 2=paire, 3=impaire, 4=impaire, 5=impaire, etc. *} {* 0=paire, 1=paire, 2=paire, 3=impaire, 4=impaire, 5=impaire, etc. *}
{if $var is even by 3} {if $var is even by 3}
... ...
{/if}</programlisting> {/if}
]]>
</programlisting>
</example> </example>
</sect1> </sect1>
<!-- Keep this comment at the end of the file <!-- Keep this comment at the end of the file

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="iso-8859-1"?> <?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ --> <!-- $Revision$ -->
<!-- EN-Revision: 1.1 Maintainer: gerald Status: ready --> <!-- EN-Revision: 1.3 Maintainer: gerald Status: ready -->
<sect1 id="language.function.include.php"> <sect1 id="language.function.include.php">
<title>include_php</title> <title>include_php</title>
<informaltable frame="all"> <informaltable frame="all">
@@ -15,7 +15,7 @@
<entry>Nom attribut</entry> <entry>Nom attribut</entry>
<entry>Type</entry> <entry>Type</entry>
<entry>Requis</entry> <entry>Requis</entry>
<entry>Defaut</entry> <entry>D<EFBFBD>faut</entry>
<entry>Description</entry> <entry>Description</entry>
</row> </row>
</thead> </thead>
@@ -33,7 +33,7 @@
<entry>Non</entry> <entry>Non</entry>
<entry><emphasis>true</emphasis></entry> <entry><emphasis>true</emphasis></entry>
<entry>Inclure plusieurs fois ou non le fichier PHP si <entry>Inclure plusieurs fois ou non le fichier PHP si
plusieurs demandes d'inclusions sont faites.</entry> plusieurs demandes d'inclusions sont fa<EFBFBD>tes.</entry>
</row> </row>
<row> <row>
<entry>assign</entry> <entry>assign</entry>
@@ -41,27 +41,27 @@
<entry>Non</entry> <entry>Non</entry>
<entry><emphasis>n/a</emphasis></entry> <entry><emphasis>n/a</emphasis></entry>
<entry>le nom de la variable PHP dans laquelle la sortie <entry>le nom de la variable PHP dans laquelle la sortie
sera assign<67>e plut<75>t que directement affich<63>e.</entry> sera assign<67>e plut<75>t que directement affich<63>e.</entry>
</row> </row>
</tbody> </tbody>
</tgroup> </tgroup>
</informaltable> </informaltable>
<note> <note>
<title>Technical Note</title> <title>Technical Note</title>
<para> <para>
include_php est presque obsol<6F>te dans Smarty. Vous pouvez obtenir des r<>sultats include_php est presque obsol<6F>te dans Smarty. Vous pouvez obtenir des r<>sultats
<EFBFBD>quivalents en utilisant les fonctions utilisateur. <20>quivalents en utilisant les fonctions utilisateur.
La seule raison qui peut vous pousser <20> utiliser include_php est que La seule raison qui peut vous pousser <20> utiliser include_php est que
vous avez besoin de mettre une de vos fonction en quarantaine vis <20> vis du vous avez besoin de mettre une de vos fonction en quarantaine vis <20> vis du
r<EFBFBD>pertoire des plugins ou de votre application. Reportez vous <20> r<>pertoire des plugins ou de votre application. Reportez vous <20>
l'exemple des <link l'exemple des <link
linkend="tips.componentized.templates"> templates composants</link> linkend="tips.componentized.templates"> templates composants</link>
pour plus de d<>tails. pour plus de d<>tails.
</para> </para>
</note> </note>
<para> <para>
les balises include_php sont utilis<69>es pour inclure directement 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 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 <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 include_php attends l'attribut "file", qui contient le chemin du
@@ -96,34 +96,39 @@
L'objet Smarty est disponible en tant que $this dans le script PHP inclus. L'objet Smarty est disponible en tant que $this dans le script PHP inclus.
</para> </para>
<example> <example>
<title>fonction include_php</title> <title>Fonction include_php</title>
<programlisting> <programlisting>
load_nav.php <![CDATA[
------------- load_nav.php
-------------
&lt;?php <?php
// charge des variables depuis une base de donn<6E>es mysql et les assigne au template. // charge des variables depuis une base de donn<6E>es mysql et les assigne au template.
require_once("MySQL.class.php"); require_once("MySQL.class.php");
$sql = new MySQL; $sql = new MySQL;
$sql->query("select * from site_nav_sections order by name",SQL_ALL); $sql->query("select * from site_nav_sections order by name",SQL_ALL);
$this->assign('sections',$sql->record); $this->assign('sections',$sql->record);
?&gt; ?>
]]>
</programlisting>
<para>
O<> index.tpl est :
</para>
<programlisting>
<![CDATA[
{* chemin absolu, ou relatif <20> $trusted_dir *}
{include_php file="/chemin/vers/load_nav.php"}
{foreach item="curr_section" from=$sections}
index.tpl <a href="{$curr_section.url}">{$curr_section.name}</a><br />
--------- {/foreach}
]]>
{* chemin absolu, ou relatif <20> $trusted_dir *} </programlisting>
{include_php file="/path/to/load_nav.php"}
{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> </sect1>
<!-- Keep this comment at the end of the file <!-- Keep this comment at the end of the file
Local variables: Local variables:
mode: sgml mode: sgml
sgml-omittag:t sgml-omittag:t

View File

@@ -1,144 +1,144 @@
<?xml version="1.0" encoding="iso-8859-1"?> <?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ --> <!-- $Revision$ -->
<!-- EN-Revision: 1.1 Maintainer: gerald Status: ready --> <!-- EN-Revision: 1.2 Maintainer: gerald Status: ready -->
<sect1 id="language.function.insert"> <sect1 id="language.function.insert">
<title>insert</title> <title>insert</title>
<informaltable frame="all"> <informaltable frame="all">
<tgroup cols="5"> <tgroup cols="5">
<colspec colname="param" align="center" /> <colspec colname="param" align="center" />
<colspec colname="type" align="center" /> <colspec colname="type" align="center" />
<colspec colname="required" align="center" /> <colspec colname="required" align="center" />
<colspec colname="default" align="center" /> <colspec colname="default" align="center" />
<colspec colname="desc" /> <colspec colname="desc" />
<thead> <thead>
<row> <row>
<entry>Nom attribut</entry> <entry>Nom attribut</entry>
<entry>Type</entry> <entry>Type</entry>
<entry>Requis</entry> <entry>Requis</entry>
<entry>Defaut</entry> <entry>Defaut</entry>
<entry>Description</entry> <entry>Description</entry>
</row> </row>
</thead> </thead>
<tbody> <tbody>
<row> <row>
<entry>name</entry> <entry>name</entry>
<entry>cha<EFBFBD>ne de caract<63>res</entry> <entry>cha<EFBFBD>ne de caract<63>res</entry>
<entry>Oui</entry> <entry>Oui</entry>
<entry><emphasis>n/a</emphasis></entry> <entry><emphasis>n/a</emphasis></entry>
<entry>le nom de la fonction insert (insert_name)</entry> <entry>le nom de la fonction insert (insert_name)</entry>
</row> </row>
<row> <row>
<entry>assign</entry> <entry>assign</entry>
<entry>cha<EFBFBD>ne de caract<63>re</entry> <entry>cha<EFBFBD>ne de caract<63>re</entry>
<entry>Non</entry> <entry>Non</entry>
<entry><emphasis>n/a</emphasis></entry> <entry><emphasis>n/a</emphasis></entry>
<entry>Le nom de la variable qui recevra la sortie</entry> <entry>Le nom de la variable qui recevra la sortie</entry>
</row> </row>
<row> <row>
<entry>script</entry> <entry>script</entry>
<entry>cha<EFBFBD>ne de caract<63>res</entry> <entry>cha<EFBFBD>ne de caract<63>res</entry>
<entry>Non</entry> <entry>Non</entry>
<entry><emphasis>n/a</emphasis></entry> <entry><emphasis>n/a</emphasis></entry>
<entry>Le nom du script PHP inclus avant que la fonction <entry>Le nom du script PHP inclus avant que la fonction
insert ne soit appel<65>e.</entry> insert ne soit appel<65>e.</entry>
</row> </row>
<row> <row>
<entry>[var ...]</entry> <entry>[var ...]</entry>
<entry>[var type]</entry> <entry>[var type]</entry>
<entry>Non</entry> <entry>Non</entry>
<entry><emphasis>n/a</emphasis></entry> <entry><emphasis>n/a</emphasis></entry>
<entry>Variable <20> passer <20> la fonction insert</entry> <entry>Variable <20> passer <20> la fonction insert</entry>
</row> </row>
</tbody> </tbody>
</tgroup> </tgroup>
</informaltable> </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>
<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> <para>
Les balises insert fonctionnent <20> peu pr<70>s comme les balises include, Si vous donnez une valeur <20> l'attribut "assign", la sortie de la balise
<EFBFBD> l'exception que leur sortie n'est pas plac<61>e en cache lorsque insert sera assign<67> <20> une variable de template de ce nom au lieu d'<27>tre
<link linkend="caching">le cache [caching]</link> est activ<69>. affich<EFBFBD>e directement. NOTE: assigner la sortie <20> une variable n'est pas
Les balises insert seront ex<65>cut<75>es <20> chaque appel du template. tr<EFBFBD>s utile lorsque le cache est activ<69>.
</para> </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> <para>
Supposons que vous avez un template avec un emplacement Il est possible d'avoir des portions de template qui ne soient pas
pour un bandeau publicitaire en haut de page. g<EFBFBD>rables par le cache. M<>me si vous avez activ<69> l'option
Ce bandeau publicitaire peut contenir toutes sortes de contenus <link linkend="caching">caching</link>, les balises insert
HTML, images, flash, etc. Nous ne pouvons pas placer du contenu ne feront pas partie du cache. Elles retourneront un contenu dynamique
statique <20> cet endroit. Nous ne voulons pas non plus que ce <EFBFBD> chaque invocation de la page. Cette m<>thode est tr<74>s pratique pour
contenu fasse partie du cache. Arrive alors la balise insert. des <20>l<EFBFBD>ments tels que les bandeaux publicitaires, les enqu<71>tes,
Le template connais #emplacement_bandeau# et #id_site# (r<>cup<75>r<EFBFBD>s la m<>t<EFBFBD>o, les r<>sultats de recherche, retours utilisateurs, etc.
depuis un fichier de configuration), et <20> besoin d'un appel de
fonction pour r<>cup<75>rer le contenu du bandeau.
</para> </para>
<example> </note>
<title>function insert</title> </sect1>
<programlisting> <!-- Keep this comment at the end of the file
{* exemple de r<>cup<75>ration d'un bandeau publicitaire *} Local variables:
{insert name="getBanner" lid=#emplacement_bandeau# sid=#id_site#}</programlisting> mode: sgml
</example> sgml-omittag:t
<para> sgml-shorttag:t
Dans cet exemple, nous utilisons le nom getBanner et lui passons les sgml-minimize-attributes:nil
param<61>tres #emplacement_bandeau# et #id_site#. Smarty va rechercher une sgml-always-quote-attributes:t
fonction appel<65>e insert_getBanner () dans votre application PHP, et lui sgml-indent-step:1
passer les valeurs #banner_location_id# et #site_id# comme premier sgml-indent-data:t
param<61>tre, dans un tableau associatif. Tous les noms des fonctions insert indent-tabs-mode:nil
de votre application doivent <20>tre prefix<69>es de "insert_" pour rem<65>dier sgml-parent-document:nil
<20> d'<27>ventuels conflits de nommage. Votre fonction insert_getBanner () sgml-default-dtd-file:"../../../../manual.ced"
est suppos<6F>e traiter les valeurs pass<73>es et retourner sgml-exposed-tags:nil
un r<>sultat. Ces r<>sultats sont affich<63>s dans le template en lieu et sgml-local-catalogs:nil
place de la balise. Dans cet exemple, Smarty appellera cette fonction sgml-local-ecat-files:nil
insert_getBanner(array("lid" => "12345","sid" => "67890")); et affichera End:
le r<>sultat retourn<72> <20> la place de la balise insert. vim600: syn=xml fen fdm=syntax fdl=2 si
</para> vim: et tw=78 syn=sgml
<para> vi: ts=1 sw=1
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,6 +1,6 @@
<?xml version="1.0" encoding="iso-8859-1"?> <?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ --> <!-- $Revision$ -->
<!-- EN-Revision: 1.4 Maintainer: gerald Status: ready --> <!-- EN-Revision: 1.5 Maintainer: gerald Status: ready -->
<sect1 id="language.function.literal"> <sect1 id="language.function.literal">
<title>literal</title> <title>literal</title>
<para> <para>
@@ -15,33 +15,33 @@
les d<>limiteurs individuels. les d<>limiteurs individuels.
</para> </para>
<example> <example>
<title>balises literal</title> <title>Balises literal</title>
<programlisting> <programlisting>
<![CDATA[ <![CDATA[
{literal} {literal}
<script language=javascript> <script language=javascript>
<!-- <!--
function isblank(field) { function isblank(field) {
if (field.value == '') if (field.value == '')
{ return false; } { return false; }
else else
{ {
document.loginform.submit(); document.loginform.submit();
return true; return true;
} }
} }
// --> // -->
</script> </script>
{/literal} {/literal}
]]> ]]>
</programlisting> </programlisting>
</example> </example>
<para> <para>
Voir aussi la Voir aussi la
<link linkend="language.escaping">d<EFBFBD>sactivation de l'analyse de Smarty</link>. <link linkend="language.escaping">d<EFBFBD>sactivation de l'analyse de Smarty</link>.
</para> </para>
</sect1> </sect1>
<!-- Keep this comment at the end of the file <!-- Keep this comment at the end of the file
Local variables: Local variables:

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="iso-8859-1"?> <?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ --> <!-- $Revision$ -->
<!-- EN-Revision: 1.1 Maintainer: gerald Status: ready --> <!-- EN-Revision: 1.2 Maintainer: gerald Status: ready -->
<sect1 id="language.function.php"> <sect1 id="language.function.php">
<title>php</title> <title>php</title>
<para> <para>
@@ -12,12 +12,15 @@
</para> </para>
<example> <example>
<title>balises php</title> <title>balises php</title>
<programlisting> <programlisting>
{php} <![CDATA[
// inclusion directe d'un script PHP {php}
// depuis le template. // inclusion directe d'un script PHP
include("/path/to/display_weather.php"); // depuis le template.
{/php}</programlisting> include("/path/to/display_weather.php");
{/php}
]]>
</programlisting>
</example> </example>
</sect1> </sect1>
<!-- Keep this comment at the end of the file <!-- Keep this comment at the end of the file

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="iso-8859-1"?> <?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ --> <!-- $Revision$ -->
<!-- EN-Revision: 1.3 Maintainer: gerlad Status: ready --> <!-- EN-Revision: 1.4 Maintainer: gerlad Status: ready -->
<sect1 id="language.function.strip"> <sect1 id="language.function.strip">
<title>strip</title> <title>strip</title>
<para> <para>
@@ -22,15 +22,15 @@
<para> <para>
{strip}{/strip} n'affecte en aucun cas le contenu des variables de {strip}{/strip} n'affecte en aucun cas le contenu des variables de
template. Voir le <link linkend="language.modifier.strip">modificateur template. Voir le <link linkend="language.modifier.strip">modificateur
strip</link> pour un rendu identique pour les variables. strip</link> pour un rendu identique pour les variables.
</para> </para>
</note> </note>
<example> <example>
<title>balises strip</title> <title>Balises strip</title>
<programlisting> <programlisting>
<![CDATA[
{* la suite sera affich<63>e sur une seule ligne *} {* la suite sera affich<63>e sur une seule ligne *}
{strip} {strip}
<![CDATA[
<table border=0> <table border=0>
<tr> <tr>
<td> <td>
@@ -41,14 +41,17 @@
</tr> </tr>
</table> </table>
{/strip} {/strip}
]]>
</programlisting>
SORTIE: <para>
L'exemple ci-dessus affichera :
</para>
<screen>
<![CDATA[
<table border=0><tr><td><A HREF="http://mon.example.com"><font color="red">Un test</font></A></td></tr></table> <table border=0><tr><td><A HREF="http://mon.example.com"><font color="red">Un test</font></A></td></tr></table>
]]> ]]>
</programlisting> </screen>
</example> </example>
<para> <para>
Notez que dans l'exemple ci-dessus, toutes les lignes commencent et 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 se terminent par des balises HTML. Sachez que si vous avez du texte