sync with EN

This commit is contained in:
yannick
2006-10-01 20:03:00 +00:00
parent 7e4778f53c
commit 11278302ba
11 changed files with 482 additions and 333 deletions

View File

@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="iso-8859-1"?> <?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ --> <!-- $Revision$ -->
<!-- EN-Revision: 1.8 Maintainer: yannick Status: ready --> <!-- EN-Revision: 1.9 Maintainer: yannick Status: ready -->
<sect1 id="language.function.assign"> <sect1 id="language.function.assign">
<title>{assign}</title> <title>{assign}</title>
<para> <para>
{assign} est utilis<69> pour d<>clarer des variables de template <varname>{assign}</varname> est utilis<69> pour d<>clarer des variables de template
<emphasis role="bold">durant l'ex<65>cution du template</emphasis>. <emphasis role="bold">durant l'ex<65>cution du template</emphasis>.
</para> </para>
<informaltable frame="all"> <informaltable frame="all">
@@ -46,7 +46,7 @@
<title>{assign}</title> <title>{assign}</title>
<programlisting> <programlisting>
<![CDATA[ <![CDATA[
{assign var="name" value="Bob"} {assign var='name' value='Bob'}
La valeur de $name est {$name}. La valeur de $name est {$name}.
]]> ]]>
@@ -72,19 +72,21 @@ La valeur de $name est Bob.
</example> </example>
<example> <example>
<title>Acc<EFBFBD>s aux variables {assign} depuis un script PHP.</title> <title>Acc<EFBFBD>s aux variables {assign} depuis un script PHP</title>
<para> <para>
Pour acc<63>der aux variables {assign} depuis le script PHP, utilisez Pour acc<63>der aux variables <varname>{assign}</varname> depuis le script PHP, utilisez
<link linkend="api.get.template.vars">get_template_vars()</link>. <link linkend="api.get.template.vars"><varname>get_template_vars()</varname></link>.
Cependant, les variables ne sont disponibles qu'apr<70>s ou pendant l'ex<65>cution du Ci-dessous, le template qui cr<63>e la variable <parameter>$foo</parameter>.
template, comme le montre l'exemple suivant :
</para> </para>
<programlisting> <programlisting>
<![CDATA[ <![CDATA[
{* index.tpl *} {assign var='foo' value='Smarty'}
{assign var="foo" value="Smarty"}
]]> ]]>
</programlisting> </programlisting>
<para>
Les variables de template ne sont disponibles que apr<70>s/durant l'ex<65>cution du template,
comme dans le script ci-dessous.
</para>
<programlisting role="php"> <programlisting role="php">
<![CDATA[ <![CDATA[
<?php <?php
@@ -92,8 +94,8 @@ La valeur de $name est Bob.
// ceci n'affichera rien car le template n'a pas encore <20>t<EFBFBD> ex<65>cut<75> // ceci n'affichera rien car le template n'a pas encore <20>t<EFBFBD> ex<65>cut<75>
echo $smarty->get_template_vars('foo'); echo $smarty->get_template_vars('foo');
// Ex<EFBFBD>cution du template // R<EFBFBD>cup<EFBFBD>re le template dans une variable
$dead = $smarty->fetch('index.tpl'); $whole_page = $smarty->fetch('index.tpl');
// Ceci affichera 'smarty' car le template a <20>t<EFBFBD> ex<65>cut<75> // Ceci affichera 'smarty' car le template a <20>t<EFBFBD> ex<65>cut<75>
echo $smarty->get_template_vars('foo'); echo $smarty->get_template_vars('foo');
@@ -115,21 +117,21 @@ echo $smarty->get_template_vars('foo');
</para> </para>
<para> <para>
<link linkend="language.function.capture">{capture}</link>, <link linkend="language.function.capture"><varname>{capture}</varname></link>,
<link linkend="language.function.include">{include}</link>, <link linkend="language.function.include"><varname>{include}</varname></link>,
<link linkend="language.function.include.php">{include_php}</link>, <link linkend="language.function.include.php"><varname>{include_php}</varname></link>,
<link linkend="language.function.insert">{insert}</link>, <link linkend="language.function.insert"><varname>{insert}</varname></link>,
<link linkend="language.function.counter">{counter}</link>, <link linkend="language.function.counter"><varname>{counter}</varname></link>,
<link linkend="language.function.cycle">{cycle}</link>, <link linkend="language.function.cycle"><varname>{cycle}</varname></link>,
<link linkend="language.function.eval">{eval}</link>, <link linkend="language.function.eval"><varname>{eval}</varname></link>,
<link linkend="language.function.fetch">{fetch}</link>, <link linkend="language.function.fetch"><varname>{fetch}</varname></link>,
<link linkend="language.function.math">{math}</link> et <link linkend="language.function.math"><varname>{math}</varname></link> et
<link linkend="language.function.textformat">{textformat}</link>. <link linkend="language.function.textformat"><varname>{textformat}</varname></link>.
</para> </para>
<para> <para>
Voir aussi Voir aussi
<link linkend="api.assign">assign()</link> et <link linkend="api.assign"><varname>assign()</varname></link> et
<link linkend="api.get.template.vars">get_template_vars()</link>. <link linkend="api.get.template.vars"><varname>get_template_vars()</varname></link>.
</para> </para>
</sect1> </sect1>

View File

@@ -1,21 +1,22 @@
<?xml version="1.0" encoding="iso-8859-1"?> <?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ --> <!-- $Revision$ -->
<!-- EN-Revision: 1.5 Maintainer: yannick Status: ready --> <!-- EN-Revision: 1.6 Maintainer: yannick Status: ready -->
<sect1 id="language.function.counter"> <sect1 id="language.function.counter">
<title>{counter}</title> <title>{counter}</title>
<para> <para>
{counter} affiche un compteur. {counter} retient la valeur <varname>{counter}</varname> affiche un compteur.
<varname>{counter}</varname> retient la valeur
du compte <20> chaque it<69>ration. Vous pouvez adapter le nombre, l'intervale du compte <20> chaque it<69>ration. Vous pouvez adapter le nombre, l'intervale
et la direction du compteur, ainsi que d<>cider d'afficher ou non et la direction du compteur, ainsi que d<>cider d'afficher ou non
les valeurs. Vous pouvez lancer plusieurs compteurs simultan<61>ment en les valeurs. Vous pouvez lancer plusieurs compteurs simultan<61>ment en
leur donnant des noms uniques. Si vous ne donnez pas de nom <20> un leur donnant des noms uniques. Si vous ne donnez pas de nom <20> un
compteur, 'default' sera utilis<69>. compteur, <quote>default</quote> sera utilis<69>.
</para> </para>
<para> <para>
Si vous donnez une valeur <20> l'attribut "assign", alors la sortie de la Si vous donnez une valeur <20> l'attribut <parameter>assign</parameter>,
fonction counter sera assign<67>e <20> la variable de template donn<6E>e plut<75>t alors la sortie de la fonction <varname>{counter}</varname> sera assign<67>e
que d'<27>tre directement affich<63>e. <EFBFBD> la variable de template donn<6E>e plut<75>t que d'<27>tre directement affich<63>e.
</para> </para>
<informaltable frame="all"> <informaltable frame="all">
<tgroup cols="5"> <tgroup cols="5">
@@ -66,7 +67,7 @@
<entry>print</entry> <entry>print</entry>
<entry>bool<EFBFBD>en</entry> <entry>bool<EFBFBD>en</entry>
<entry>Non</entry> <entry>Non</entry>
<entry><emphasis>true</emphasis></entry> <entry><emphasis>&true;</emphasis></entry>
<entry>S'il faut afficher cette valeur ou non</entry> <entry>S'il faut afficher cette valeur ou non</entry>
</row> </row>
<row> <row>
@@ -81,7 +82,7 @@
</tgroup> </tgroup>
</informaltable> </informaltable>
<example> <example>
<title>counter</title> <title>{counter}</title>
<programlisting> <programlisting>
<![CDATA[ <![CDATA[
{* initialisation du compteur *} {* initialisation du compteur *}

View File

@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="iso-8859-1"?> <?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ --> <!-- $Revision$ -->
<!-- EN-Revision: 1.6 Maintainer: yannick Status: ready --> <!-- EN-Revision: 1.7 Maintainer: yannick Status: ready -->
<sect1 id="language.function.cycle"> <sect1 id="language.function.cycle">
<title>{cycle}</title> <title>{cycle}</title>
<para> <para>
{cycle} est utilis<69> pour boucler sur un ensemble de valeurs. Tr<54>s pratique <varname>{cycle}</varname> est utilis<69> pour boucler sur un ensemble de valeurs.
pour alterner entre deux ou plusieurs couleurs dans un tableau, Tr<EFBFBD>s pratique pour alterner entre deux ou plusieurs couleurs dans un tableau,
ou plus g<>n<EFBFBD>ralement pour boucler sur les valeurs d'un tableau. ou plus g<>n<EFBFBD>ralement pour boucler sur les valeurs d'un tableau.
</para> </para>
<informaltable frame="all"> <informaltable frame="all">
@@ -40,20 +40,20 @@
<entry><emphasis>N/A</emphasis></entry> <entry><emphasis>N/A</emphasis></entry>
<entry>Les valeurs sur lesquelles boucler, soit une liste <entry>Les valeurs sur lesquelles boucler, soit une liste
s<>par<61>e par des virgules, (voir l'attribut delimiter), s<>par<61>e par des virgules, (voir l'attribut delimiter),
soit un tableau de valeurs.</entry> soit un tableau de valeurs</entry>
</row> </row>
<row> <row>
<entry>print</entry> <entry>print</entry>
<entry>bool<EFBFBD>en</entry> <entry>bool<EFBFBD>en</entry>
<entry>Non</entry> <entry>Non</entry>
<entry><emphasis>true</emphasis></entry> <entry><emphasis>&true;</emphasis></entry>
<entry>S'il faut afficher ou non cette valeur</entry> <entry>S'il faut afficher ou non cette valeur</entry>
</row> </row>
<row> <row>
<entry>advance</entry> <entry>advance</entry>
<entry>bool<EFBFBD>en</entry> <entry>bool<EFBFBD>en</entry>
<entry>Non</entry> <entry>Non</entry>
<entry><emphasis>true</emphasis></entry> <entry><emphasis>&true;</emphasis></entry>
<entry>Oui ou non aller <20> la procha<68>ne valeur</entry> <entry>Oui ou non aller <20> la procha<68>ne valeur</entry>
</row> </row>
<row> <row>
@@ -75,29 +75,33 @@
<entry>reset</entry> <entry>reset</entry>
<entry>bool<EFBFBD>en</entry> <entry>bool<EFBFBD>en</entry>
<entry>Non</entry> <entry>Non</entry>
<entry><emphasis>false</emphasis></entry> <entry><emphasis>&false;</emphasis></entry>
<entry>Le cycle sera d<>fini <20> la premi<6D>re valeur</entry> <entry>Le cycle sera d<>fini <20> la premi<6D>re valeur</entry>
</row> </row>
</tbody> </tbody>
</tgroup> </tgroup>
</informaltable> </informaltable>
<itemizedlist>
<listitem>
<para> <para>
Vous pouvez d<>finir plusieurs {cycle} dans votre template, en leur Vous pouvez d<>finir plusieurs <varname>{cycle}</varname> dans votre template, en leur
donnant des noms uniques (attribut name). donnant des noms uniques (attribut <parameter>name</parameter>).
</para> </para></listitem>
<para> <listitem><para>
Vous pouvez emp<6D>cher la valeur courante de s'afficher en d<>finissant Vous pouvez emp<6D>cher la valeur courante de s'afficher en d<>finissant
l'attribut print <20> false. Ce proc<6F>d<EFBFBD> peut <20>tre utile pour discr<63>tement l'attribut <parameter>print</parameter> <20> &false;. Ce proc<6F>d<EFBFBD> peut <20>tre
passer outre une valeur de la liste. utile pour discr<63>tement passer outre une valeur de la liste.
</para> </para></listitem>
<para> <listitem><para>
L'attribut advance est utilis<69> pour r<>p<EFBFBD>ter une valeur. Lorsque L'attribut <parameter>advance</parameter> est utilis<69> pour r<>p<EFBFBD>ter une valeur. Lorsque
d<>finit <20> false, le prochain appel de {cycle} ram<61>nera la m<>me valeur. d<>finit <20> &false;, le prochain appel de <varname>{cycle}</varname> ram<61>nera la m<>me valeur.
</para> </para></listitem>
<para> <listitem><para>
Si vous d<>finissez l'attribut sp<73>cial "assign", la sortie de la fonction Si vous d<>finissez l'attribut sp<73>cial <parameter>assign</parameter>, la sortie de la fonction
cycle y sera assign<67>e plut<75>t que d'<27>tre directement affich<63>e. <varname>{cycle}</varname> y sera assign<67>e plut<75>t que d'<27>tre directement affich<63>e.
</para> </para></listitem>
</itemizedlist>
<example> <example>
<title>{cycle}</title> <title>{cycle}</title>
<programlisting> <programlisting>
@@ -108,7 +112,8 @@
</tr> </tr>
{/section} {/section}
]]> ]]>
</programlisting> </programlisting>
<para>Le template ci-dessus affichera :</para>
<screen> <screen>
<![CDATA[ <![CDATA[
<tr bgcolor="#eeeeee"> <tr bgcolor="#eeeeee">

View File

@@ -1,9 +1,18 @@
<?xml version="1.0" encoding="iso-8859-1"?> <?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ --> <!-- $Revision$ -->
<!-- EN-Revision: 1.6 Maintainer: yannick Status: ready --> <!-- EN-Revision: 1.7 Maintainer: yannick Status: ready -->
<sect1 id="language.function.debug"> <sect1 id="language.function.debug">
<title>{debug}</title> <title>{debug}</title>
<para>
<varname>{debug}</varname> am<61>ne la console de d<>bogage sur la page.
Fonctionne quelle que soit la valeur du param<61>tre
<link linkend="chapter.debugging.console">debug</link> de Smarty.
Comme ce dernier est appel<65> lors de l'ex<65>cution, il n'est capable
d'afficher que les variables <link linkend="api.assign">assign<EFBFBD>es</link>
au template, et non les templates en cours d'utilisation. Toutefois, vous
voyez toutes les variables disponibles pour le template courant.
</para>
<informaltable frame="all"> <informaltable frame="all">
<tgroup cols="5"> <tgroup cols="5">
<colspec colname="param" align="center" /> <colspec colname="param" align="center" />
@@ -31,15 +40,6 @@
</tbody> </tbody>
</tgroup> </tgroup>
</informaltable> </informaltable>
<para>
{debug} am<61>ne la console de d<>bogage sur la page. Fonctionne
quelle que soit la valeur du param<61>tre <link
linkend="chapter.debugging.console">debug</link> de Smarty.
Comme ce dernier est appel<65> lors de l'ex<65>cution, il n'est capable
d'afficher que les variables <link linkend="api.assign">assign<EFBFBD>es</link>
au template, et non les templates en cours d'utilisation. Toutefois, vous
voyez toutes les variables disponibles pour le template courant.
</para>
<para> <para>
Voir aussi Voir aussi
<link linkend="chapter.debugging.console">la console de d<>bogage</link>. <link linkend="chapter.debugging.console">la console de d<>bogage</link>.

View File

@@ -1,17 +1,18 @@
<?xml version="1.0" encoding="iso-8859-1"?> <?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ --> <!-- $Revision$ -->
<!-- EN-Revision: 1.6 Maintainer: yannick Status: ready --> <!-- EN-Revision: 1.7 Maintainer: yannick Status: ready -->
<sect1 id="language.function.eval"> <sect1 id="language.function.eval">
<title>{eval}</title> <title>{eval}</title>
<para> <para>
{eval} <20>value une variable comme si cette derni<6E>re <20>tait un template. <varname>{eval}</varname> <20>value une variable comme si cette derni<6E>re
<20>tait un template.
Peut <20>tre utile pour embarquer des balises de templates ou des variables Peut <20>tre utile pour embarquer des balises de templates ou des variables
de template dans des variables ou des balises/variables dans des de template dans des variables ou des balises/variables dans des
variables de fichiers de configuration. variables de fichiers de configuration.
</para> </para>
<para> <para>
Si vous d<>finissez l'attribut "assign", la sortie sera assign<67>e <20> la Si vous d<>finissez l'attribut <parameter>assign</parameter>, la sortie sera assign<67>e <20> la
variable de template d<>sign<67>e plut<75>t que d'<27>tre affich<63>e dans le variable de template d<>sign<67>e plut<75>t que d'<27>tre affich<63>e dans le
template. template.
</para> </para>
@@ -37,7 +38,7 @@
<entry>mixed</entry> <entry>mixed</entry>
<entry>Oui</entry> <entry>Oui</entry>
<entry><emphasis>n/a</emphasis></entry> <entry><emphasis>n/a</emphasis></entry>
<entry>variable (ou cha<68>ne de caract<63>res) <20> <20>valuer</entry> <entry>Variable (ou cha<68>ne de caract<63>res) <20> <20>valuer</entry>
</row> </row>
<row> <row>
<entry>assign</entry> <entry>assign</entry>
@@ -53,22 +54,25 @@
<note> <note>
<title>Note technique</title> <title>Note technique</title>
<para> <para>
<itemizedlist>
<listitem><para>
Les variables <20>valu<6C>es sont trait<69>es de la m<>me fa<66>on que les templates. Les variables <20>valu<6C>es sont trait<69>es de la m<>me fa<66>on que les templates.
Elles suivent les m<>mes r<>gles de traitement et de s<>curit<69>, comme si Elles suivent les m<>mes r<>gles de traitement et de s<>curit<69>, comme si
elles <20>taient r<>ellement des templates. elles <20>taient r<>ellement des templates.
</para> </para></listitem>
</note>
<note> <listitem><para>
<title>Note technique</title>
<para>
Les variables <20>valu<6C>es sont compil<69>es <20> chaque invocation, et la version Les variables <20>valu<6C>es sont compil<69>es <20> chaque invocation, et la version
compil<69>e n'est pas sauvegard<72>e ! Toutefois, si le compil<69>e n'est pas sauvegard<72>e ! Toutefois, si le
<link linkend="caching">cache</link> est activ<69>, la sortie sera plac<61>e en <link linkend="caching">cache</link> est activ<69>, la sortie sera plac<61>e en
cache avec le reste du template. cache avec le reste du template.
</para> </para></listitem>
</itemizedlist>
</para>
</note> </note>
<example> <example>
<title>{eval}</title> <title>{eval}</title>
<para>Le contenu du fichier de configuration, <filename>setup.conf</filename>.</para>
<programlisting> <programlisting>
<![CDATA[ <![CDATA[
#setup.conf #setup.conf
@@ -111,14 +115,15 @@ Vous devez sp
<title>un autre exemple avec {eval}</title> <title>un autre exemple avec {eval}</title>
<para> <para>
Ceci va afficher le nom du serveur (en majuscule) et son IP. Ceci va afficher le nom du serveur (en majuscule) et son IP.
La variable $str <20>galement venir d'une requ<71>te de base de donn<6E>es. La variable <parameter>$str</parameter> <20>galement venir d'une requ<71>te de base de donn<6E>es.
</para> </para>
<programlisting role="php"> <programlisting role="php">
<![CDATA[ <![CDATA[
// script php <?php
$str = 'Le nom du serveur est {$smarty.server.SERVER_NAME|upper} ' $str = 'Le nom du serveur est {$smarty.server.SERVER_NAME|upper} '
.'at {$smarty.server.SERVER_ADDR}'; .'at {$smarty.server.SERVER_ADDR}';
$smarty->assign('foo',$str); $smarty->assign('foo',$str);
?>
]]> ]]>
</programlisting> </programlisting>
<para> <para>

View File

@@ -1,23 +1,61 @@
<?xml version="1.0" encoding="iso-8859-1"?> <?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ --> <!-- $Revision$ -->
<!-- EN-Revision: 1.11 Maintainer: yannick Status: ready --> <!-- EN-Revision: 1.12 Maintainer: yannick Status: ready -->
<sect1 id="language.function.fetch"> <sect1 id="language.function.fetch">
<title>{fetch}</title> <title>{fetch}</title>
<para> <para>
{fetch} est utilis<69> pour r<>cup<75>rer des fichiers depuis le syst<73>me de <varname>{fetch}</varname> est utilis<69> pour r<>cup<75>rer des fichiers depuis le syst<73>me de
fichier local, depuis un serveur http ou ftp, et en afficher le contenu. fichier local, depuis un serveur http ou ftp, et en afficher le contenu.
Si le nom du fichier commence par "http://", la page internet sera
r<>cup<75>r<EFBFBD>e, puis affich<63>e. Si le nom du fichier commence par "ftp://",
le fichier sera r<>cup<75>r<EFBFBD> depuis le serveur ftp, et affich<63>.
Pour les fichiers du syst<73>me local, le chemin doit <20>tre absolu ou
relatif au chemin d'ex<65>cution du script PHP.
</para>
<para>
Vous pouvez sp<73>cifier l'attribut optionnel "assign"
qui d<>fini une variable de template dans laquelle la sortie
sera stock<63>e plut<75>t que d'<27>tre affich<63>e.
</para> </para>
<itemizedlist>
<listitem>
<para>
Si le nom du fichier commence par <parameter>http://</parameter>, la page internet sera
r<>cup<75>r<EFBFBD>e, puis affich<63>e.
<note>
<para>
Ceci ne supporte pas les redirections http. Assurez vous d'inclure les
slash de fin sur votre page web si n<>cessaire.
</para>
</note>
</para>
</listitem>
<listitem>
<para>
Si le nom du fichier commence par <parameter>ftp://</parameter>,
le fichier sera r<>cup<75>r<EFBFBD> depuis le serveur ftp, et affich<63>.
</para>
</listitem>
<listitem>
<para>
Pour les fichiers du syst<73>me local, le chemin doit <20>tre absolu ou
relatif au chemin d'ex<65>cution du script PHP.
<note>
<para>
Si la variable de template <link linkend="variable.security">
<parameter>$security</parameter></link>
est activ<69>e et que vous r<>cup<75>rez un fichier depuis le syst<73>me
de fichiers local, <varname>{fetch}</varname>
ne permettra que les fichiers se trouvant dans un des dossiers
d<>finis dans les <link linkend="variable.secure.dir">dossiers s<>curis<69>s</link>.
</para>
</note>
</para>
</listitem>
<listitem>
<para>
Si l'attribut <parameter>assign</parameter> est d<>fini, l'affichage
de la fonction <varname>{fetch}</varname> sera assign<67>e <20> cette
variable de template au lieu d'<27>tre affich<63>e dans le template.
</para>
</listitem>
</itemizedlist>
<informaltable frame="all"> <informaltable frame="all">
<tgroup cols="5"> <tgroup cols="5">
<colspec colname="param" align="center" /> <colspec colname="param" align="center" />
@@ -40,34 +78,20 @@
<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 fichier, site http ou ftp <20> r<>cup<75>rer</entry> <entry>Le fichier, site http ou ftp <20> r<>cup<75>rer</entry>
</row> </row>
<row> <row>
<entry>assign</entry> <entry>assign</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 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 d'<27>tre directement affich<63>e. sera assign<67>e plut<75>t que d'<27>tre directement affich<63>e.
</entry> </entry>
</row> </row>
</tbody> </tbody>
</tgroup> </tgroup>
</informaltable> </informaltable>
<note>
<title>Note technique</title>
<para>Ne supporte pas les redirections http. Assurez vous d'inclure les
slash de fin sur votre page web si n<>cessaire.
</para>
</note>
<note>
<title>Note technique</title>
<para>
Si la <link linkend="variable.security">s<EFBFBD>curit<EFBFBD></link> est activ<69>e,
vous ne pourez r<>cup<75>rer les fichiers du syst<73>me local que s'ils sont
situ<74>s dans l'un des <link linkend="variable.secure.dir">r<EFBFBD>pertoires s<>curis<69></link>.
</para>
</note>
<example> <example>
<title>Exempe avec {fetch}</title> <title>Exempe avec {fetch}</title>
<programlisting> <programlisting>
@@ -86,17 +110,17 @@
{* assigne le contenu r<>cup<75>r<EFBFBD> <20> une variable de template *} {* assigne le contenu r<>cup<75>r<EFBFBD> <20> une variable de template *}
{fetch file='http://www.myweather.com/68502/' assign='weather'} {fetch file='http://www.myweather.com/68502/' assign='weather'}
{if $weather ne ''} {if $weather ne ''}
<div id="weather">{$weather}</div> <div id="weather">{$weather}</div>
{/if} {/if}
]]> ]]>
</programlisting> </programlisting>
</example> </example>
<para> <para>
Voir aussi Voir aussi
<link linkend="language.function.capture">{capture}</link>, <link linkend="language.function.capture"><varname>{capture}</varname></link>,
<link linkend="language.function.assign">{assign}</link> <link linkend="language.function.assign"><varname>{assign}</varname></link>
<link linkend="language.function.eval">{eval}</link> et <link linkend="language.function.eval"><varname>{eval}</varname></link> et
<link linkend="api.fetch">fetch()</link>. <link linkend="api.fetch"><varname>fetch()</varname></link>.
</para> </para>
</sect1> </sect1>

View File

@@ -1,16 +1,14 @@
<?xml version="1.0" encoding="iso-8859-1"?> <?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ --> <!-- $Revision$ -->
<!-- EN-Revision: 1.16 Maintainer: yannick Status: ready --> <!-- EN-Revision: 1.17 Maintainer: yannick Status: ready -->
<sect1 id="language.function.html.checkboxes"> <sect1 id="language.function.html.checkboxes">
<title>{html_checkboxes}</title> <title>{html_checkboxes}</title>
<para> <para>
{html_checkboxes} est une <varname>{html_checkboxes}</varname> est une
<link linkend="language.custom.functions">fonction utilisateur</link> <link linkend="language.custom.functions">fonction utilisateur</link>
qui cr<63>e un groupe de cases <20> cocher avec les donn<6E>es fournies. Elle prend qui cr<63>e un groupe de cases <20> cocher avec les donn<6E>es fournies. Elle prend
en compte la liste des <20>l<EFBFBD>ments s<>lectionn<6E>s par d<>faut. Les attributs requis en compte la liste des <20>l<EFBFBD>ments s<>lectionn<6E>s par d<>faut.
sont values et output, <20> moins que vous n'utilisiez options <20> la place.
La sortie g<>n<EFBFBD>r<EFBFBD>e est conforme au XHTML.
</para> </para>
<informaltable frame="all"> <informaltable frame="all">
<tgroup cols="5"> <tgroup cols="5">
@@ -40,16 +38,16 @@
<entry>values</entry> <entry>values</entry>
<entry>array</entry> <entry>array</entry>
<entry>Oui, <20> moins que vous n'utilisiez l'attribut <entry>Oui, <20> moins que vous n'utilisiez l'attribut
option</entry> option</entry>
<entry><emphasis>n/a</emphasis></entry> <entry><emphasis>n/a</emphasis></entry>
<entry>Un tableau de valeurs pour les cases <20> <entry>Un tableau de valeurs pour les cases <20>
cocher</entry> cocher</entry>
</row> </row>
<row> <row>
<entry>output</entry> <entry>output</entry>
<entry>array</entry> <entry>array</entry>
<entry>Oui, <20> moins que vous n'utilisiez l'attribut <entry>Oui, <20> moins que vous n'utilisiez l'attribut
option</entry> option</entry>
<entry><emphasis>n/a</emphasis></entry> <entry><emphasis>n/a</emphasis></entry>
<entry>Un tableau de sortie pour les cases <20> cocher</entry> <entry>Un tableau de sortie pour les cases <20> cocher</entry>
</row> </row>
@@ -64,10 +62,10 @@
<entry>options</entry> <entry>options</entry>
<entry>Tableau associatif</entry> <entry>Tableau associatif</entry>
<entry>Oui, <20> moins que vous n'utilisiez values et <entry>Oui, <20> moins que vous n'utilisiez values et
output</entry> output</entry>
<entry><emphasis>n/a</emphasis></entry> <entry><emphasis>n/a</emphasis></entry>
<entry>Un tableau associatif de valeurs et <entry>Un tableau associatif de valeurs et
sorties</entry> sorties</entry>
</row> </row>
<row> <row>
<entry>separator</entry> <entry>separator</entry>
@@ -75,36 +73,55 @@
<entry>Non</entry> <entry>Non</entry>
<entry><emphasis>empty</emphasis></entry> <entry><emphasis>empty</emphasis></entry>
<entry>cha<EFBFBD>ne de caract<63>re pour s<>parer chaque case <entry>cha<EFBFBD>ne de caract<63>re pour s<>parer chaque case
<20> cocher</entry> <EFBFBD> cocher</entry>
</row>
<row>
<entry>assign</entry>
<entry>cha<EFBFBD>ne de caract<63>res</entry>
<entry>Non</entry>
<entry><emphasis>empty</emphasis></entry>
<entry>Assigne les balises d'un checkbox <20> un tableau plut<75>t que de les afficher</entry>
</row>
<row>
<entry>labels</entry>
<entry>bool<EFBFBD>en</entry>
<entry>Non</entry>
<entry><emphasis>true</emphasis></entry>
<entry>ajoute la balise &lt;label&gt;- <20> la sortie</entry>
</row> </row>
<row> <row>
<entry>assign</entry> <entry>assign</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>empty</emphasis></entry> <entry><emphasis>empty</emphasis></entry>
<entry>assigne la sortie <20> un tableau dont chaque checkbox est un <20>l<EFBFBD>ment.</entry> <entry>Assigne les balises d'un checkbox <20> un tableau plut<75>t que de les afficher</entry>
</row>
<row>
<entry>labels</entry>
<entry>bool<EFBFBD>en</entry>
<entry>Non</entry>
<entry><emphasis>true</emphasis></entry>
<entry>Ajoute la balise &lt;label&gt;- <20> la sortie</entry>
</row>
<row>
<entry>assign</entry>
<entry>cha<EFBFBD>ne de caract<63>res</entry>
<entry>Non</entry>
<entry><emphasis>empty</emphasis></entry>
<entry>Assigne la sortie <20> un tableau dont chaque checkbox est un <20>l<EFBFBD>ment.</entry>
</row> </row>
</tbody> </tbody>
</tgroup> </tgroup>
</informaltable> </informaltable>
<para>
Tous les param<61>tres qui ne sont pas list<73>s ci-dessus sont affich<63>s <itemizedlist>
en tant que paires nom/valeur dans chaque balise &lt;input&gt; cr<63>e. <listitem>
</para> <para>
Les attributs requis sont <parameter>values</parameter> et
<parameter>output</parameter>, <20> moins que vous utilisez
<parameter>options</parameter> <20> la place.
</para>
</listitem>
<listitem>
<para>
Tous les affichages sont conformes XHTML.
</para>
</listitem>
<listitem>
<para>
Tous les param<61>tres qui ne sont pas dans la liste ci-dessus
sont affich<63>s sous la forme de paires nom/valeur dans chaque
balise &lt;input&gt; cr<63>es.
</para>
</listitem>
</itemizedlist>
<example> <example>
<title>{html_checkboxes}</title> <title>{html_checkboxes}</title>
<programlisting role="php"> <programlisting role="php">
@@ -113,11 +130,11 @@
$smarty->assign('cust_ids', array(1000,1001,1002,1003)); $smarty->assign('cust_ids', array(1000,1001,1002,1003));
$smarty->assign('cust_names', array( $smarty->assign('cust_names', array(
'Joe Schmoe', 'Joe Schmoe',
'Jack Smith', 'Jack Smith',
'Jane Johnson', 'Jane Johnson',
'Charlie Brown') 'Charlie Brown')
); );
$smarty->assign('customer_id', 1001); $smarty->assign('customer_id', 1001);
?> ?>
@@ -129,7 +146,7 @@ $smarty->assign('customer_id', 1001);
<programlisting> <programlisting>
<![CDATA[ <![CDATA[
{html_checkboxes name='id' values=$cust_ids output=$cust_names {html_checkboxes name='id' values=$cust_ids output=$cust_names
selected=$customer_id separator='<br />'} selected=$customer_id separator='<br />'}
]]> ]]>
</programlisting> </programlisting>
<para> <para>
@@ -140,11 +157,11 @@ $smarty->assign('customer_id', 1001);
<?php <?php
$smarty->assign('cust_checkboxes', array( $smarty->assign('cust_checkboxes', array(
1000 => 'Joe Schmoe', 1000 => 'Joe Schmoe',
1001 => 'Jack Smith', 1001 => 'Jack Smith',
1002 => 'Jane Johnson', 1002 => 'Jane Johnson',
1003 => 'Charlie Brown') 1003 => 'Charlie Brown')
); );
$smarty->assign('customer_id', 1001); $smarty->assign('customer_id', 1001);
?> ?>
@@ -156,7 +173,7 @@ $smarty->assign('customer_id', 1001);
<programlisting> <programlisting>
<![CDATA[ <![CDATA[
{html_checkboxes name='id' options=$cust_checkboxes {html_checkboxes name='id' options=$cust_checkboxes
selected=$customer_id separator='<br />'} selected=$customer_id separator='<br />'}
]]> ]]>
</programlisting> </programlisting>
<para> <para>
@@ -189,16 +206,20 @@ $smarty->assign('contact',$db->getRow($sql));
?> ?>
]]> ]]>
</programlisting> </programlisting>
<para>
Le r<>sultat des requ<71>tes de la base de donn<6E>es sera affich<63> avec :
</para>
<programlisting> <programlisting>
<![CDATA[ <![CDATA[
{html_checkboxes name="type" options=$types selected=$contact.type_id separator="<br />"} {html_checkboxes name='contact_type_id' options=$contact_types
selected=$contact.contact_type_id separator='<br />'}
]]> ]]>
</programlisting> </programlisting>
</example> </example>
<para> <para>
Voir aussi Voir aussi
<link linkend="language.function.html.radios">{html_radios}</link> et <link linkend="language.function.html.radios"><varname>{html_radios}</varname></link> et
<link linkend="language.function.html.options">{html_options}</link>. <link linkend="language.function.html.options"><varname>{html_options}</varname></link>.
</para> </para>
</sect1> </sect1>

View File

@@ -1,11 +1,12 @@
<?xml version="1.0" encoding="iso-8859-1"?> <?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ --> <!-- $Revision$ -->
<!-- EN-Revision: 1.8 Maintainer: yannick Status: ready --> <!-- EN-Revision: 1.10 Maintainer: yannick Status: ready -->
<sect1 id="language.function.html.image"> <sect1 id="language.function.html.image">
<title>{html_image}</title> <title>{html_image}</title>
<para> <para>
{html_image} est une fonction utilisateur qui g<>n<EFBFBD>re la balise <varname>{html_image}</varname> est une
<link linkend="language.custom.functions">fonction utilisateur</link> qui g<>n<EFBFBD>re la balise
HTML pour une image. La hauteur et la longueur de l'image sont calcul<75>s HTML pour une image. La hauteur et la longueur de l'image sont calcul<75>s
automatiquement depuis le fichier image si aucune n'est sp<73>cifi<66>e. automatiquement depuis le fichier image si aucune n'est sp<73>cifi<66>e.
</para> </para>
@@ -52,70 +53,83 @@
<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>racine du serveur web</emphasis></entry> <entry><emphasis>racine du serveur web</emphasis></entry>
<entry>r<EFBFBD>pertoire depuis lequel baser le calcul des <entry>R<EFBFBD>pertoire depuis lequel baser le calcul des
chemins relatifs</entry> chemins relatifs</entry>
</row> </row>
<row> <row>
<entry>link</entry> <entry>alt</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><quote></quote></emphasis></entry>
<entry>lien sur lequel l'image pointe</entry> <entry>Description alternative de l'image</entry>
</row>
<row>
<entry>href</entry>
<entry>cha<EFBFBD>ne de caract<63>res</entry>
<entry>non</entry>
<entry><emphasis>n/a</emphasis></entry>
<entry>valeur de l'attribut href, indiquant le lien vers l'image</entry>
</row> </row>
<row> <row>
<entry>path_prefix</entry> <entry>path_prefix</entry>
<entry>string</entry> <entry>cha<EFBFBD>ne de caract<63>res</entry>
<entry>no</entry> <entry>non</entry>
<entry><emphasis>n/a</emphasis></entry> <entry><emphasis>n/a</emphasis></entry>
<entry>pr<EFBFBD>fixe pour le chemin de la sortie</entry> <entry>Pr<EFBFBD>fixe pour le chemin de la sortie</entry>
</row> </row>
</tbody> </tbody>
</tgroup> </tgroup>
</informaltable> </informaltable>
<para>
basedir est le r<>pertoire de base depuis lequel seront calcul<75>s les <itemizedlist>
chemins relatifs. Si non sp<73>cifi<66>, la racine du serveur web est utilis<69> <listitem><para>
(variable d'<link linkend="language.variables.smarty">environnement</link> <parameter>basedir</parameter> est le dossier de base dans lequel
DOCUMENT_ROOT). Si <link linkend="variable.security">$security</link> les images sont bas<61>es. S'il n'est pas fourni, la variable d'environnement
est activ<69>, l'image doit se situer dans un r<>pertoire s<>curis<EFBFBD>. <varname>$_ENV['DOCUMENT_ROOT']</varname> sera utilis<EFBFBD>e.
</para> Si <link linkend="variable.security"><parameter>$security</parameter></link>
<para> est activ<69>, le chemin vers l'image doit <20>tre pr<70>sent dans le
<parameter>href</parameter> est la valeur de l'attribut 'href' <20> laquelle lier l'image. Si link est d<>fini, <link linkend="variable.secure.dir">dossier de s<>curit<69></link>.
une balise &lt;a href="LINKVALUE"&gt;&lt;a&gt; est plac<61>e autour de </para></listitem>
l'image.
</para> <listitem><para>
<para> <parameter>href</parameter> est la valeur de l'attribut href de l'image.
<parameter>path_prefix</parameter> est un pr<70>fixe optionnel que vous ouvez donn<6E> pour Si le lien est fourni, une balise <literal>&lt;a href="LINKVALUE"&gt;&lt;a&gt;</literal>
le chemin de sortie. Ceci est pratique si vous voulez fournir un nom de serveur diff<66>rent sera plac<61>e autour de la balise de l'image.
pour l'image. </para> </listitem>
</para>
<para> <listitem><para>
Tous les param<61>tres qui ne sont pas list<73>s ci-dessus seront affich<63>s <parameter>path_prefix</parameter> est un pr<70>fixe optionnel que vous pouvez fournir.
en tant que paires nom/valeur dans la balise &lt;img&gt; cr<63><72>e. Il est utile si vous voulez fournir un nom de serveur diff<66>rent pour l'image.
</para> </para></listitem>
<listitem><para>
Tous les param<61>tres qui ne sont pas dans la liste ci-dessus sont affich<63>s
sous la forme d'une paire nom/valeur dans la balise
<literal>&lt;img&gt;</literal> cr<63><72>e.
</para></listitem>
</itemizedlist>
<note> <note>
<title>Note technique</title> <title>Note technique</title>
<para> <para>
{html_image} requiert un acc<63>s au disque dur pour lire l'image et <varname>{html_image}</varname> requiert un acc<63>s au disque dur pour lire l'image et
calculer ses dimensions. Si vous n'utilisez pas un <link linkend="caching">cache</link>, calculer ses dimensions. Si vous n'utilisez pas un <link linkend="caching">cache</link>,
il est g<>n<EFBFBD>ralement pr<70>f<EFBFBD>rable d'<27>viter d'utiliser html_image il est g<>n<EFBFBD>ralement pr<70>f<EFBFBD>rable d'<27>viter d'utiliser <varname>{html_image}</varname>
et de laisser les balises images statiques pour de meilleures et de laisser les balises images statiques pour de meilleures
performances. performances.
</para> </para>
</note> </note>
<example> <example>
<title>html_image</title> <title>Exemple avec {html_image}</title>
<programlisting> <programlisting>
<![CDATA[ <![CDATA[
O<EFBFBD> index.tpl est :
-------------------
{html_image file='pumpkin.jpg'} {html_image file='pumpkin.jpg'}
{html_image file='/path/from/docroot/pumpkin.jpg'} {html_image file='/path/from/docroot/pumpkin.jpg'}
{html_image file='../path/relative/to/currdir/pumpkin.jpg'} {html_image file='../path/relative/to/currdir/pumpkin.jpg'}
]]> ]]>
</programlisting> </programlisting>
<para> <para>
Sortie possible : L'affichage possible du template ci-dessus pourrait <20>tre :
</para> </para>
<screen> <screen>
<![CDATA[ <![CDATA[

View File

@@ -1,15 +1,14 @@
<?xml version="1.0" encoding="iso-8859-1"?> <?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ --> <!-- $Revision$ -->
<!-- EN-Revision: 1.14 Maintainer: yannick Status: ready --> <!-- EN-Revision: 1.17 Maintainer: yannick Status: ready -->
<sect1 id="language.function.html.options"> <sect1 id="language.function.html.options">
<title>{html_options}</title> <title>{html_options}</title>
<para> <para>
{html_options} est une <varname>{html_options}</varname> est une
<link linkend="language.custom.functions">fonction personnalis<69>e</link> <link linkend="language.custom.functions">fonction personnalis<69>e</link>
qui cr<63>e un groupe d'options avec les donn<6E>es fournies. Elle prend en charge qui cr<63>e un groupe d'options avec les donn<6E>es fournies. Elle prend en charge
les <20>l<EFBFBD>ments s<>lectionn<6E>s par d<>faut. Les attributs requis sont values et output, les <20>l<EFBFBD>ments s<>lectionn<6E>s par d<>faut.
<20> moins que vous n'utilisiez options <20> la place.
</para> </para>
<informaltable frame="all"> <informaltable frame="all">
<tgroup cols="5"> <tgroup cols="5">
@@ -32,19 +31,19 @@
<entry>values</entry> <entry>values</entry>
<entry>array</entry> <entry>array</entry>
<entry>Oui, <20> moins que vous n'utilisiez <entry>Oui, <20> moins que vous n'utilisiez
l'attribut options</entry> l'attribut options</entry>
<entry><emphasis>n/a</emphasis></entry> <entry><emphasis>n/a</emphasis></entry>
<entry>un tableau de valeurs pour les listes <entry>Un tableau de valeurs pour les listes
d<>roulantes</entry> d<EFBFBD>roulantes</entry>
</row> </row>
<row> <row>
<entry>output</entry> <entry>output</entry>
<entry>array</entry> <entry>array</entry>
<entry>Oui, <20> moins que vous n'utilisiez <entry>Oui, <20> moins que vous n'utilisiez
l'attribut options</entry> l'attribut options</entry>
<entry><emphasis>n/a</emphasis></entry> <entry><emphasis>n/a</emphasis></entry>
<entry>Un tableau de libell<6C>s pour la liste <entry>Un tableau de libell<6C>s pour la liste
d<>roulante</entry> d<EFBFBD>roulante</entry>
</row> </row>
<row> <row>
<entry>selected</entry> <entry>selected</entry>
@@ -57,7 +56,7 @@
<entry>options</entry> <entry>options</entry>
<entry>Tableau associatif</entry> <entry>Tableau associatif</entry>
<entry>Oui, <20> moins que vous n'utilisiez option <entry>Oui, <20> moins que vous n'utilisiez option
et values</entry> et values</entry>
<entry><emphasis>n/a</emphasis></entry> <entry><emphasis>n/a</emphasis></entry>
<entry>Un tableau associatif valeur / libell<6C></entry> <entry>Un tableau associatif valeur / libell<6C></entry>
</row> </row>
@@ -71,94 +70,120 @@
</tbody> </tbody>
</tgroup> </tgroup>
</informaltable> </informaltable>
<para>
Si la valeur donn<6E>e est un tableau, elle sera trait<69>e comme un <itemizedlist>
&lt;optgroup&gt; html, et affich<63>e. La r<>cursivit<69> est support<72>e avec <listitem><para>
&lt;optgroup&gt;. La sortie est compatible XHTML. Les attributs requis sont
</para> <parameter>values</parameter> et <parameter>output</parameter>,
<para> <20> moins que vous n'utilisiez <parameter>options</parameter> <20> la place.
Si l'attribut optionnel <emphasis>name</emphasis> est donn<6E>, les </para></listitem>
balises &lt;select name="groupname"&gt;&lt;/select&gt; entoureront la
liste d'options. Sinon, seule la liste &lt;option&gt; sera g<>n<EFBFBD>r<EFBFBD>e. <listitem><para>
</para> Si l'attribut optionnel <parameter>name</parameter> est fourni, les balises
<para> <literal>&lt;select&gt;&lt;/select&gt;</literal> seront cr<63><72>es,
Tous les param<61>tres qui ne sont pas dans la liste ci-dessus sont sinon, UNIQUEMENT la liste <literal>&lt;option&gt;</literal> sera g<>n<EFBFBD>r<EFBFBD>e.
affich<EFBFBD>s en tant que paires nom / valeur dans la balise &lt;select&gt;. Ils </para></listitem>
sont ignor<6F>s si le param<61>tre optionnel <emphasis>name</emphasis>
n'est pas donn<6E>. <listitem><para>
</para> Si la valeur fournie est un tableau, il sera trait<69> comme un
<literal>&lt;optgroup&gt;</literal> HTML, et affichera les groupes.
La r<>cursivit<69> est support<72>e avec <literal>&lt;optgroup&gt;</literal>.
</para></listitem>
<listitem><para>
Tous les param<61>tres qui ne sont pas dans la liste ci-dessus sont affich<63>s
sous la forme de paire nom/valeur dans la balise
<literal>&lt;select&gt;</literal>. Ils seront ignor<6F>s si le param<61>tre optionnel
<parameter>name</parameter> n'est pas fourni.
</para></listitem>
<listitem><para>
Tous les affichages sont conformes XHTML.
</para></listitem>
</itemizedlist>
<example> <example>
<title>{html_options}</title> <title>Un tableau associatif avec l'attribut <varname>options</varname></title>
<para>
<emphasis role="bold">Exemple 1 :</emphasis>
</para>
<programlisting role="php"> <programlisting role="php">
<![CDATA[ <![CDATA[
<?php <?php
$smarty->assign('myOptions', array(
$smarty->assign('cust_ids', array(1000,1001,1002,1003)); 1800 => 'Joe Schmoe',
$smarty->assign('cust_names', array( 9904 => 'Jack Smith',
'Joe Schmoe', 2003 => 'Charlie Brown')
'Jack Smith', );
'Jane Johnson', $smarty->assign('mySelect', 9904);
'Charlie Brown'));
$smarty->assign('customer_id', 1001);
?> ?>
]]> ]]>
</programlisting> </programlisting>
<para> <para>
O<EFBFBD> le template est : Le template suivant g<>n<EFBFBD>rera une liste. Notez la pr<70>sence
de l'attribut <parameter>name</parameter> qui cr<63>e les
balises <literal>&lt;select&gt;</literal>.
</para> </para>
<programlisting> <programlisting>
<![CDATA[ <![CDATA[
<select name="customer_id"> {html_options name=foo options=$myOptions selected=$mySelect}
{html_options values=$cust_ids output=$cust_names selected=$customer_id} ]]>
</programlisting>
<para>
L'affichage de l'exemple ci-dessus sera :
</para>
<screen>
<![CDATA[
<select name="foo">
<option label="Joe Schmoe" value="1800">Joe Schmoe</option>
<option label="Jack Smith" value="9904" selected="selected">Jack Smith</option>
<option label="Charlie Brown" value="2003">Charlie Brown</option>
</select>
]]>
</screen>
</example>
<example>
<title>Tableaux s<>par<61>s pour <varname>values</varname> et
<varname>ouptut</varname></title>
<programlisting role="php">
<![CDATA[
<?php
$smarty->assign('cust_ids', array(56,92,13));
$smarty->assign('cust_names', array(
'Joe Schmoe',
'Jane Johnson',
'Charlie Brown'));
$smarty->assign('customer_id', 92);
?>
]]>
</programlisting>
<para>
Les tableaux ci-dessus seront affich<63>s avec le template suivant
(notez l'utilisation de la fonction PHP <ulink url="&url.php-manual;function.count">
<varname>count()</varname></ulink> en tant que modificateur pour
d<>finir la taille du select).
</para>
<programlisting>
<![CDATA[
<select name="customer_id" size="{$cust_names|@count}">
{html_options values=$cust_ids output=$cust_names selected=$customer_id}
</select> </select>
]]> ]]>
</programlisting> </programlisting>
<para> <para>
<emphasis role="bold">Exemple 2 :</emphasis> L'exemple ci-dessous affichera :
</para>
<programlisting>
<![CDATA[
<?php
$smarty->assign('cust_options', array(
1000 => 'Joe Schmoe',
1001 => 'Jack Smith',
1002 => 'Jane Johnson',
1003 => 'Charlie Brown')
);
$smarty->assign('customer_id', 1001);
?>
]]>
</programlisting>
<para>
O<> le template est :
</para>
<programlisting>
<![CDATA[
{html_options name=customer_id options=$cust_options selected=$customer_id}
]]>
</programlisting>
<para>
Les deux exemples afficheront :
</para> </para>
<screen> <screen>
<![CDATA[ <![CDATA[
<select name="customer_id"> <select name="customer_id">
<option label="Joe Schmoe" value="1000">Joe Schmoe</option> <option label="Joe Schmoe" value="56">Joe Schmoe</option>
<option label="Jack Smith" value="1001" selected="selected">Jack Smith</option> <option label="Jack Smith" value="92" selected="selected">Jane Johnson</option>
<option label="Jane Johnson" value="1002">Jane Johnson</option> <option label="Charlie Brown" value="13">Charlie Brown</option>
<option label="Charlie Brown" value="1003">Charlie Brown</option>
</select> </select>
]]> ]]>
</screen> </screen>
</example> </example>
<example> <example>
<title>{html_options} - Exemple avec une base de donn<6E>es (eg PEAR ou ADODB):</title> <title>Exemple avec une base de donn<6E>es (e.g. ADODB ou PEAR)</title>
<programlisting role="php"> <programlisting role="php">
<![CDATA[ <![CDATA[
<?php <?php
@@ -167,30 +192,72 @@ $sql = 'select type_id, types from contact_types order by type';
$smarty->assign('contact_types',$db->getAssoc($sql)); $smarty->assign('contact_types',$db->getAssoc($sql));
$sql = 'select contact_id, name, email, contact_type_id $sql = 'select contact_id, name, email, contact_type_id
from contacts where contact_id='.$contact_id; from contacts where contact_id='.$contact_id;
$smarty->assign('contact',$db->getRow($sql)); $smarty->assign('contact',$db->getRow($sql));
?> ?>
]]> ]]>
</programlisting> </programlisting>
<para> <para>
o<EFBFBD> le template est : O<EFBFBD> le template pourrait <20>tre celui-ci. Notez l'utilisation du modificateur
<link linkend="language.modifier.truncate"><varname>truncate</varname></link>.
</para> </para>
<programlisting> <programlisting>
<![CDATA[ <![CDATA[
<select name="type_id"> <select name="type_id">
<option value='null'>-- none --</option> <option value='null'>-- none --</option>
{html_options options=$contact_types selected=$contact.type_id} {html_options options=$contact_types|truncate:20 selected=$contact.type_id}
</select> </select>
]]> ]]>
</programlisting> </programlisting>
</example> </example>
<para>
Voir aussi <example>
<link linkend="language.function.html.checkboxes">{html_checkboxes}</link> et <title>Exemple avec &lt;optgroup&gt; </title>
<link linkend="language.function.html.radios">{html_radios}</link>. <programlisting role="php">
</para> <![CDATA[
</sect1> <?php
$arr['Sport'] = array(6 => 'Golf', 9 => 'Cricket',7 => 'Swim');
$arr['Rest'] = array(3 => 'Sauna',1 => 'Massage');
$smarty->assign('lookups', $arr);
$smarty->assign('fav', 7);
?>
]]>
</programlisting>
<para>Le script ci-dessus et le template suivant
</para>
<programlisting>
<![CDATA[
{html_options name=foo options=$myOptions selected=$mySelect}
]]>
</programlisting>
<para>
affichera :
</para>
<screen>
<![CDATA[
<select name="breakTime">
<optgroup label="Sport">
<option label="Golf" value="6">Golf</option>
<option label="Cricket" value="9">Cricket</option>
<option label="Swim" value="7" selected="selected">Swim</option>
</optgroup>
<optgroup label="Rest">
<option label="Sauna" value="3">Sauna</option>
<option label="Massage" value="1">Massage</option>
</optgroup>
</select>
]]>
</screen>
</example>
<para>
Voir aussi
<link linkend="language.function.html.checkboxes"><varname>{html_checkboxes}</varname></link>
et
<link linkend="language.function.html.radios"><varname>{html_radios}</varname></link>
</para>
</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,16 +1,14 @@
<?xml version="1.0" encoding="iso-8859-1"?> <?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ --> <!-- $Revision$ -->
<!-- EN-Revision: 1.16 Maintainer: yannick Status: ready --> <!-- EN-Revision: 1.18 Maintainer: yannick Status: ready -->
<sect1 id="language.function.html.radios"> <sect1 id="language.function.html.radios">
<title>{html_radios}</title> <title>{html_radios}</title>
<para> <para>
{html_radio} est une <varname>{html_radios}</varname> est une
<link linkend="language.custom.functions">fonction personnalis<69>e</link> <link linkend="language.custom.functions">fonction personnalis<69>e</link>
qui cr<63>e des boutons radio html <20> partir des donn<6E>es fournies. Elle prend en qui cr<63>e des boutons radio html <20> partir des donn<6E>es fournies. Elle prend en
charge les <20>l<EFBFBD>ments s<>lectionn<6E>s par d<>faut. Les attributs requis sont values charge les <20>l<EFBFBD>ments s<>lectionn<6E>s par d<>faut.
et output, <20> moins que vous n'utilisiez options <20> la place. La sortie g<>n<EFBFBD>r<EFBFBD>e est
conforme au XHTML.
</para> </para>
<informaltable frame="all"> <informaltable frame="all">
<tgroup cols="5"> <tgroup cols="5">
@@ -34,7 +32,7 @@
<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>radio</emphasis></entry> <entry><emphasis>radio</emphasis></entry>
<entry>nom de la liste boutons radio</entry> <entry>Nom de la liste boutons radio</entry>
</row> </row>
<row> <row>
<entry>values</entry> <entry>values</entry>
@@ -65,14 +63,14 @@
<entry>Oui, <20> moins que vous n'utilisiez values <entry>Oui, <20> moins que vous n'utilisiez values
et outputs</entry> et outputs</entry>
<entry><emphasis>n/a</emphasis></entry> <entry><emphasis>n/a</emphasis></entry>
<entry>un tableau associatif valeurs / libell<6C>s</entry> <entry>Un tableau associatif valeurs / libell<6C>s</entry>
</row> </row>
<row> <row>
<entry>separator</entry> <entry>separator</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>empty</emphasis></entry> <entry><emphasis>empty</emphasis></entry>
<entry>cha<EFBFBD>ne de s<>paration <20> placer entre les <entry>Cha<EFBFBD>ne de s<>paration <20> placer entre les
boutons radio</entry> boutons radio</entry>
</row> </row>
<row> <row>
@@ -85,14 +83,27 @@
</tbody> </tbody>
</tgroup> </tgroup>
</informaltable> </informaltable>
<para>
Tous les param<61>tres qui ne sont pas dans la liste ci dessus sont <itemizedlist>
affich<EFBFBD>s en tant que paires nom / valeur dans chaque balise &lt;input&gt; <listitem><para>
cr<EFBFBD><EFBFBD>e. Les attributs requis sont <parameter>values</parameter> et
</para> <parameter>output</parameter>, <20> moins que vous n'utilisez
<parameter>options</parameter> <20> la place.
</para></listitem>
<listitem><para>
Tous les affichages sont conformes XHTML.
</para></listitem>
<listitem><para>
Tous les param<61>tres qui ne sont pas dans la liste ci-dessus sont
affich<63>s sous la forme de paire nom/valeur dans la balise
<literal>&lt;input&gt;</literal> cr<63><72>es.
</para></listitem>
</itemizedlist>
<example> <example>
<title>{html_radios} : Exemple 1</title> <title>{html_radios} : Premi<EFBFBD>re exemple</title>
<programlisting role="php"> <programlisting role="php">
<![CDATA[ <![CDATA[
<?php <?php
@@ -121,7 +132,7 @@ $smarty->assign('customer_id', 1001);
</programlisting> </programlisting>
</example> </example>
<example> <example>
<title>{html_radios} : Exemple 2</title> <title>{html_radios} : Deuxi<EFBFBD>me exemple</title>
<programlisting> <programlisting>
<![CDATA[ <![CDATA[
<?php <?php
@@ -175,19 +186,20 @@ $smarty->assign('contact',$db->getRow($sql));
]]> ]]>
</programlisting> </programlisting>
<para> <para>
et le template : La variable assign<67>e depuis la base de donn<6E>es ci-dessus sera affich<63>e
avec le template :
</para> </para>
<programlisting> <programlisting>
<![CDATA[ <![CDATA[
{html_radios name='contact_type_id' options=$types {html_radios name='contact_type_id' options=$contact_types
selected=$contact.contact_type_id separator='<br />'} selected=$contact.contact_type_id separator='<br />'}
]]> ]]>
</programlisting> </programlisting>
</example> </example>
<para> <para>
Voir aussi Voir aussi
<link linkend="language.function.html.checkboxes">{html_checkboxes}</link> et <link linkend="language.function.html.checkboxes"><varname>{html_checkboxes}</varname></link> et
<link linkend="language.function.html.options">{html_options}</link>. <link linkend="language.function.html.options"><varname>{html_options}</varname></link>.
</para> </para>
</sect1> </sect1>

View File

@@ -1,14 +1,17 @@
<?xml version="1.0" encoding="iso-8859-1"?> <?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ --> <!-- $Revision$ -->
<!-- EN-Revision: 1.10 Maintainer: yannick Status: ready --> <!-- EN-Revision: 1.12 Maintainer: yannick Status: ready -->
<sect1 id="language.function.html.select.date"> <sect1 id="language.function.html.select.date">
<title>{html_select_date}</title> <title>{html_select_date}</title>
<para> <para>
{html_select_date} est une <varname>{html_select_date}</varname> est une
<link linkend="language.custom.functions">fonction personnalis<69>e</link> <link linkend="language.custom.functions">fonction personnalis<69>e</link>
qui cr<63>e des listes d<>roulantes pour saisir la date. Elle peut afficher n'importe qui cr<63>e des listes d<>roulantes pour saisir la date. Elle peut afficher n'importe
quel jour, mois et ann<6E>e. quel jour, mois et ann<6E>e.
Tous les param<61>tres qui ne sont pas dans la liste ci-dessous sont
affich<63>s sous la forme pair nom/valeur dans les balises
<literal>&lt;select&gt;</literal> des jours, mois et ann<6E>es.
</para> </para>
<informaltable frame="all"> <informaltable frame="all">
<tgroup cols="5"> <tgroup cols="5">
@@ -40,7 +43,7 @@
<entry>Non</entry> <entry>Non</entry>
<entry>la date courante au format unix YYYY-MM-DD <entry>la date courante au format unix YYYY-MM-DD
format</entry> format</entry>
<entry>la date / heure <20> utiliser</entry> <entry>La date / heure <20> utiliser</entry>
</row> </row>
<row> <row>
<entry>start_year</entry> <entry>start_year</entry>
@@ -100,7 +103,7 @@
<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>%d</entry> <entry>%d</entry>
<entry>le format de la valeur du jour (sprintf)</entry> <entry>Le format de la valeur du jour (sprintf)</entry>
</row> </row>
<row> <row>
<entry>year_as_text</entry> <entry>year_as_text</entry>
@@ -214,10 +217,10 @@
<entry>Non</entry> <entry>Non</entry>
<entry>null</entry> <entry>null</entry>
<entry>S'il est renseign<67>, alors le premier <20>l<EFBFBD>ment de la boite de s<>lection <entry>S'il est renseign<67>, alors le premier <20>l<EFBFBD>ment de la boite de s<>lection
affiche le texte donn<6E> en tant que libell<6C> et dispose de la valeur "". affiche le texte donn<6E> en tant que libell<6C> et dispose de la valeur <quote></quote>.
Utile par exemple lorsque vous souhaitez que la boite de s<>lection affiche Utile par exemple lorsque vous souhaitez que la boite de s<>lection affiche
"S<EFBFBD>lectionnez une ann<6E>e". <quote>S<EFBFBD>lectionnez une ann<6E>e</quote>.
A savoir que vous pouvez sp<73>cifier des valeurs de la forme "-MM-JJ" pour A savoir que vous pouvez sp<73>cifier des valeurs de la forme <quote>-MM-DD</quote> pour
l'attribut time afin d'indiquer une ann<6E>e non s<>lectionn<6E>e.</entry> l'attribut time afin d'indiquer une ann<6E>e non s<>lectionn<6E>e.</entry>
</row> </row>
<row> <row>
@@ -226,9 +229,9 @@
<entry>Non</entry> <entry>Non</entry>
<entry>null</entry> <entry>null</entry>
<entry>S'il est renseign<67>, le premier <20>l<EFBFBD>ment de la boite de s<>lection <entry>S'il est renseign<67>, le premier <20>l<EFBFBD>ment de la boite de s<>lection
affiche le texte donn<6E> en tant que libell<6C> et dispose de la valeur "". affiche le texte donn<6E> en tant que libell<6C> et dispose de la valeur <quote></quote>.
A savoir que vous pouvez sp<73>cifier des valeurs de la forme "AAAA--JJ" pour A savoir que vous pouvez sp<73>cifier des valeurs de la forme <quote>YYYY--DD</quote> pour
l'attribut time afin d'indiquer qu'il manque le moi.</entry> l'attribut time afin d'indiquer qu'il manque le moi.</entry>
</row> </row>
<row> <row>
<entry>day_empty</entry> <entry>day_empty</entry>
@@ -236,21 +239,25 @@
<entry>Non</entry> <entry>Non</entry>
<entry>null</entry> <entry>null</entry>
<entry>S'il est renseign<67>, le premier <20>l<EFBFBD>ment de la boite de s<>lection <entry>S'il est renseign<67>, le premier <20>l<EFBFBD>ment de la boite de s<>lection
affiche le texte donn<6E> en tant que libell<6C> et dispose de la valeur "". affiche le texte donn<6E> en tant que libell<6C> et dispose de la valeur <quote></quote>.
A savoir que vous pouvez sp<73>cifier des valeurs de la forme "AAAA-MM-" pour A savoir que vous pouvez sp<73>cifier des valeurs de la forme <quote>YYYY-MM-</quote> pour
l'attribut time afin d'indiquer qu'il manque le jour. l'attribut time afin d'indiquer qu'il manque le jour.
</entry> </entry>
</row> </row>
</tbody> </tbody>
</tgroup> </tgroup>
</informaltable> </informaltable>
<para>
Tous les param<61>tres non pr<70>sents dans la liste ci-dessus sont affich<63>s <note>
en tant que paires nom/valeur dans la balise &lt;select&gt; du jour, mois <para>
et ann<6E>e. Il y a une fonction PHP utile sur la
</para> <link linkend="tips.dates">page des astuces sur les dates</link> pour convertir
les valeurs <varname>{html_select_date}</varname> en un timestamp.
</para>
</note>
<example> <example>
<title>{html_select_date}</title> <title>{html_select_date} : Premier exemple</title>
<para>Code du template</para> <para>Code du template</para>
<programlisting> <programlisting>
<![CDATA[ <![CDATA[
@@ -287,14 +294,14 @@
<option value="31">31</option> <option value="31">31</option>
</select> </select>
<select name="Date_Year"> <select name="Date_Year">
<option value="2001" selected="selected">2001</option> <option value="2006" selected="selected">2006</option>
</select> </select>
]]> ]]>
</screen> </screen>
</example> </example>
<example> <example>
<title>{html_select_date}</title> <title>{html_select_date} : Deuxi<78>me exemple</title>
<programlisting> <programlisting>
<![CDATA[ <![CDATA[
{* le d<>marage et la fin de l'ann<6E>e peuvent <20>tre relatif <20> l'ann<6E>e courante *} {* le d<>marage et la fin de l'ann<6E>e peuvent <20>tre relatif <20> l'ann<6E>e courante *}
@@ -310,22 +317,13 @@
<select name="StartDateMonth"> <select name="StartDateMonth">
<option value="1">January</option> <option value="1">January</option>
<option value="2">February</option> <option value="2">February</option>
<option value="3">March</option> ..... coup<75> .....
<option value="4">April</option>
<option value="5">May</option>
<option value="6">June</option>
<option value="7">July</option>
<option value="8">August</option>
<option value="9">September</option>
<option value="10">October</option>
<option value="11">November</option> <option value="11">November</option>
<option value="12" selected="selected">December</option> <option value="12" selected="selected">December</option>
</select> </select>
<select name="StartDateYear"> <select name="StartDateYear">
<option value="1999">1995</option> <option value="1995">1995</option>
<option value="1999">1996</option> ..... coup<75> .....
<option value="1999">1997</option>
<option value="1999">1998</option>
<option value="1999">1999</option> <option value="1999">1999</option>
<option value="2000" selected="selected">2000</option> <option value="2000" selected="selected">2000</option>
<option value="2001">2001</option> <option value="2001">2001</option>
@@ -335,9 +333,9 @@
</example> </example>
<para> <para>
Voir aussi Voir aussi
<link linkend="language.function.html.select.time">{html_select_time}</link>, <link linkend="language.function.html.select.time"><varname>{html_select_time}</varname></link>,
<link linkend="language.modifier.date.format">date_format</link>, <link linkend="language.modifier.date.format"><varname>date_format</varname></link>,
<link linkend="language.variables.smarty.now">$smarty.now</link> et <link linkend="language.variables.smarty.now"><parameter>$smarty.now</parameter></link> et
les <link linkend="tips.dates">astuces sur les dates</link>. les <link linkend="tips.dates">astuces sur les dates</link>.
</para> </para>
</sect1> </sect1>