sync with EN

This commit is contained in:
yannick
2005-05-24 20:07:09 +00:00
parent efa1f78d65
commit 0d9b69e03b
8 changed files with 154 additions and 104 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.6 Maintainer: didou Status: ready --> <!-- EN-Revision: 1.8 Maintainer: didou Status: ready -->
<chapter id="tips"> <chapter id="tips">
<title>Trucs et astuces</title> <title>Trucs et astuces</title>
<para></para> <para></para>
@@ -48,7 +48,7 @@
Si une variable est utilis<69>e fr<66>quemment dans vos templates, Si une variable est utilis<69>e fr<66>quemment dans vos templates,
lui appliquer le modificateur par d<>faut peut <20>tre un peu fastidieux. lui appliquer le modificateur par d<>faut peut <20>tre un peu fastidieux.
Vous pouvez rem<65>dier <20> cel<65> en lui assignant une valeur par d<>faut Vous pouvez rem<65>dier <20> cel<65> en lui assignant une valeur par d<>faut
avec la fonction <link linkend="language.function.assign">assign</link>. avec la fonction <link linkend="language.function.assign">{assign}</link>.
</para> </para>
<example> <example>
<title>assigner une valeur par d<>faut <20> une variable de template</title> <title>assigner une valeur par d<>faut <20> une variable de template</title>
@@ -119,7 +119,8 @@ footer.tpl
le titre sera "Archives". Notez que dans l'exemple des archives, on utilise le titre sera "Archives". Notez que dans l'exemple des archives, on utilise
le fichier archives_page.conf plut<75>t que des variables cod<6F>es en dur. le fichier archives_page.conf plut<75>t que des variables cod<6F>es en dur.
Remarquez aussi que "BC News" est affich<63>e si la variable $title Remarquez aussi que "BC News" est affich<63>e si la variable $title
n'est pas d<>finie, gr<67>ce au modificateur de variable <emphasis>default</emphasis>. n'est pas d<>finie, gr<67>ce au modificateur de variable
<link linkend="language.modifier.default">default</link>.
</para> </para>
</sect1> </sect1>
<sect1 id="tips.dates"> <sect1 id="tips.dates">
@@ -202,13 +203,22 @@ function makeTimeStamp($year="", $month="", $day="")
if(empty($day)) { if(empty($day)) {
$day = strftime("%d"); $day = strftime("%d");
} }
return mktime(0, 0, 0, $month, $day, $year); return mktime(0, 0, 0, $month, $day, $year);
} }
?> ?>
]]> ]]>
</programlisting> </programlisting>
</example> </example>
<para>
Voir aussi
<link linkend="language.function.html.select.date">{html_select_date}</link>,
<link linkend="language.function.html.select.time">{html_select_time}</link>,
<link linkend="language.modifier.date.format">date_format</link>
et <link linkend="language.variables.smarty.now">$smarty.now</link>,
</para>
</sect1> </sect1>
<sect1 id="tips.wap"> <sect1 id="tips.wap">
<title>WAP/WML</title> <title>WAP/WML</title>

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.3 Maintainer:gerald Status: ready -->
<chapter id="troubleshooting"> <chapter id="troubleshooting">
<title>Diagnostic des erreurs</title> <title>Diagnostic des erreurs</title>
<para></para> <para></para>
@@ -44,16 +44,23 @@ Parse error: parse error in /path/to/smarty/templates_c/index.tpl.php on line 75
]]> ]]>
</screen> </screen>
</example> </example>
<para> <para>
Quand vous rencontrez une erreur d'analyse PHP, le num<75>ro de la ligne Quand vous rencontrez une erreur d'analyse PHP, le num<75>ro de la ligne
indiqu<71> est celui du fichier PHP compil<69> et non du template. Vous pouvez alors indiqu<71> est celui du fichier PHP compil<69> et non du template. Vous pouvez alors
regarder le template et d<>tecter l'erreur. Voici quelques erreurs fr<66>quentes : regarder le template et d<>tecter l'erreur. Voici quelques erreurs fr<66>quentes :
balises fermantes pour {if}{/if} ou {section}{/section} manquantes, ou balises fermantes pour <link linkend="language.function.if">{if}{/if}</link>
ou <link linkend="language.function.if">{section}{/section}</link> manquantes, ou
syntaxe logique incorrecte dans une instruction {if}. Si vous ne trouvez pas l'erreur, syntaxe logique incorrecte dans une instruction {if}. Si vous ne trouvez pas l'erreur,
vous devrez alors ouvrir le fichier PHP compil<69> et aller <20> la ligne correspondante pour vous devrez alors ouvrir le fichier PHP compil<69> et aller <20> la ligne correspondante pour
trouver d'o<> vient l'erreur. trouver d'o<> vient l'erreur.
</para> </para>
<para>
Voir aussi
<link linkend="chapter.debugging.console">le d<>bogage</link>,
<link linkend="variable.error.reporting">$error_reporting</link>
et <link linkend="api.trigger.error">trigger_error()</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,20 +1,25 @@
<?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.7 Maintainer: gerald Status: ready -->
<chapter id="chapter.debugging.console"> <chapter id="chapter.debugging.console">
<title>Console de d<>bogage</title> <title>Console de d<>bogage</title>
<para> <para>
Il existe une console de d<>bogage dans Smarty. La console vous indique Il existe une console de d<>bogage dans Smarty. La console vous indique
toutes les variables incluses, assign<67>es et charg<72>es depuis un fichier de toutes les templates <link linkend="language.function.include">incluses</link>,
configuration pour le template courant. Un template appel<65> "debug.tpl" les variables <link linkend="api.assign">assign<EFBFBD>es</link> et charg<72>es depuis un fichier de
est inclus dans la distribution de Smarty. Si besoin, vous pouvez d<>finir <link linkend="language.config.variables">configuration</link> pour le template courant.
$debug_tpl de fa<66>on <20> ce que ce dernier contienne le chemin Un template appel<65> "debug.tpl" est inclus dans la distribution de Smarty qui contr<74>le
du template <20> utiliser(dans SMARTY_DIR par defaut). le formattage de la console.D<>finissez <link linkend="variable.debugging">$debugging</link>
<20> true dans Smarty et, si besoin, vous pouvez d<>finir
<link linkend="variable.debug.tpl">$debug_tpl</link> de fa<66>on <20> ce que ce dernier
contienne le chemin du template <20> utiliser(dans
<link linkend="constant.smarty.dir">SMARTY_DIR</link> par defaut).
Lorsque vous chargez la page, une console javascript est cens<6E>e surgir Lorsque vous chargez la page, une console javascript est cens<6E>e surgir
et vous donner les noms de toutes les variables inclues et assign<67>es dans et vous donner les noms de toutes les variables inclues et assign<67>es dans
votre page courante. Pour voir toutes les variables d'un template particulier, votre page courante. Pour voir toutes les variables d'un template particulier,
voir la fonction <link linkend="language.function.debug">{debug}</link>. voir la fonction <link linkend="language.function.debug">{debug}</link>.
Pour d<>sactiver la console de d<>bogage, d<>finissez $debugging <20> false. Pour d<>sactiver la console de d<>bogage, d<>finissez
<link linkend="variable.debugging">$debugging</link> <20> false.
Vous pouvez <20>galement temporairement activer le d<>bogage en indiquant Vous pouvez <20>galement temporairement activer le d<>bogage en indiquant
SMARTY_DEBUG dans l'url si tant est que l'option SMARTY_DEBUG dans l'url si tant est que l'option
<link linkend="variable.debugging.ctrl">$debugging_ctrl</link> soit activ<69>e. <link linkend="variable.debugging.ctrl">$debugging_ctrl</link> soit activ<69>e.
@@ -22,10 +27,11 @@
<note> <note>
<title>Note technique</title> <title>Note technique</title>
<para> <para>
La console de d<>bogage ne fonctionne pas si vous utilisez l'API fetch (), La console de d<>bogage ne fonctionne pas si vous utilisez l'API
mais seulement lorsque vous utilisez display (). C'est en effet un jeu <link linkend="api.fetch">fetch()</link>,
d'instructions javascripts <20> la fin du template qui d<>clenchent l'ouverture mais seulement lorsque vous utilisez <link linkend="api.display">display()</link>.
de la fen<65>tre. Si vous n'aimez pas javascript, vous pouvez modifier C'est en effet un jeu d'instructions javascripts <20> la fin du template qui d<>clenchent
l'ouverture de la fen<65>tre. Si vous n'aimez pas javascript, vous pouvez modifier
debug.tpl pour formater les donn<6E>es de la fa<66>on qui vous conviendra le debug.tpl pour formater les donn<6E>es de la fa<66>on qui vous conviendra le
mieux. Les donn<6E>es de d<>bogage ne sont pas mises en cache et les mieux. Les donn<6E>es de d<>bogage ne sont pas mises en cache et les
informations de debug.tpl ne sont pas incluses dans la sortie de la informations de debug.tpl ne sont pas incluses dans la sortie de la
@@ -38,6 +44,12 @@
indiqu<71>s en secondes. indiqu<71>s en secondes.
</para> </para>
</note> </note>
<para>
Voir aussi
<link linkend="troubleshooting">troubleshooting</link>,
<link linkend="variable.error.reporting">$error_reporting</link>
et <link linkend="api.trigger.error">trigger_error()</link>.
</para>
</chapter> </chapter>
<!-- Keep this comment at the end of the file <!-- Keep this comment at the end of the file
Local variables: Local variables:
@@ -58,4 +70,4 @@
vim600: syn=xml fen fdm=syntax fdl=2 si vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml vim: et tw=78 syn=sgml
vi: ts=1 sw=1 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 -->
<chapter id="config.files"> <chapter id="config.files">
<title>Fichiers de configuration</title> <title>Fichiers de configuration</title>
<para> <para>
@@ -42,8 +42,8 @@ pass=foobar
</programlisting> </programlisting>
</example> </example>
<para> <para>
Les valeurs des variables de fichiers de configuration peuvent <20>tre entre Les valeurs des <link linkend="language.config.variables">variables de fichiers de configuration</link>
guillemets, sans que cel<65> soit n<>cessaire. Si vous vouler utiliser des peuvent <20>tre entre guillemets, sans que cel<65> soit n<>cessaire. Si vous vouler utiliser des
valeurs sur plusieurs lignes, vous devrez les entourer de triples valeurs sur plusieurs lignes, vous devrez les entourer de triples
guillemets ("""). Vous pouvez ins<6E>rer des commentaires dans les fichiers de guillemets ("""). Vous pouvez ins<6E>rer des commentaires dans les fichiers de
configuration en utilisant une syntaxe quelquonque, non valide. configuration en utilisant une syntaxe quelquonque, non valide.
@@ -62,11 +62,14 @@ pass=foobar
<20> la fois en tant que globale et <20> la fois en tant que variable de <20> la fois en tant que globale et <20> la fois en tant que variable de
section, la variable de section est prioritaire. section, la variable de section est prioritaire.
Si vous appelez deux variables dans une m<>me section de la m<>me fa<66>on, Si vous appelez deux variables dans une m<>me section de la m<>me fa<66>on,
la derni<6E>re d<>clar<61>e prime. la derni<6E>re d<>clar<61>e prime. (voir
<link linkend="variable.config.overwrite">$config_overwrite</link>)
</para> </para>
<para> <para>
Les fichiers de configuration sont charg<72>s dans le template gr<67>ce <EFBFBD> la Les fichiers de configuration sont charg<72>s dans le template gr<67>ce aux
fonction <command>config_load</command>. fonctions <link
linkend="language.function.config.load"><command>{config_load}</command></link>,
et <link linkend="api.config.load"><command>config_load()</command></link>.
</para> </para>
<para> <para>
Vous pouvez masquer des variables ou des sections enti<74>res en pr<70>fixant Vous pouvez masquer des variables ou des sections enti<74>res en pr<70>fixant
@@ -97,4 +100,4 @@ End:
vim600: syn=xml fen fdm=syntax fdl=2 si vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml vim: et tw=78 syn=sgml
vi: ts=1 sw=1 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 -->
<chapter id="language.combining.modifiers"> <chapter id="language.combining.modifiers">
<title>Combiner des modificateurs de variable.</title> <title>Combiner des modificateurs de variable.</title>
<para> <para>
@@ -68,4 +68,4 @@ End:
vim600: syn=xml fen fdm=syntax fdl=2 si vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml vim: et tw=78 syn=sgml
vi: ts=1 sw=1 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.16 Maintainer: gerald Status: ready --> <!-- EN-Revision: 1.17 Maintainer: gerald Status: ready -->
<chapter id="language.modifiers"> <chapter id="language.modifiers">
<title>Modificateurs de variables</title> <title>Modificateurs de variables</title>
<para> <para>
@@ -65,6 +65,13 @@
comme connues dans le tableau <link linkend="variable.security.settings"> comme connues dans le tableau <link linkend="variable.security.settings">
$security_settings['MODIFIER_FUNCS']</link>. $security_settings['MODIFIER_FUNCS']</link>.
</para> </para>
<para>
Voir aussi
<link linkend="api.register.modifier">register_modifier()</link>,
<link linkend="api.register.function">register_function()</link>,
<link linkend="plugins"><EFBFBD>tendre Smarty avec des plugins</link>
et <link linkend="plugins.modifiers">les modifieurs</link>.
</para>
&designers.language-modifiers.language-modifier-cat; &designers.language-modifiers.language-modifier-cat;
&designers.language-modifiers.language-modifier-capitalize; &designers.language-modifiers.language-modifier-capitalize;
@@ -89,6 +96,7 @@
&designers.language-modifiers.language-modifier-wordwrap; &designers.language-modifiers.language-modifier-wordwrap;
</chapter> </chapter>
<!-- 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
@@ -108,4 +116,4 @@ End:
vim600: syn=xml fen fdm=syntax fdl=2 si vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml vim: et tw=78 syn=sgml
vi: ts=1 sw=1 vi: ts=1 sw=1
--> -->

View File

@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="iso-8859-1"?> <?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ --> <!-- $Revision$ -->
<!-- EN-Revision: 1.7 Maintainer: didou Status: ready --> <!-- EN-Revision: 1.8 Maintainer: didou Status: ready -->
<part id="getting.started"> <part id="getting.started">
<title>Pour commencer</title> <title>Pour commencer</title>
<chapter id="what.is.smarty"> <chapter id="what.is.smarty">
<title>Qu'est-ce que Smarty ?</title> <title>Qu'est-ce que Smarty ?</title>
<para> <para>
@@ -92,12 +92,14 @@
<listitem> <listitem>
<para> <para>
Syntaxe des templates configurable, vous Syntaxe des templates configurable, vous
pouvez utiliser {}, {{}}, &lt;!--{}--&gt;, etc. comme d<EFBFBD>limiteurs. pouvez utiliser {}, {{}}, &lt;!--{}--&gt;, etc. comme
<link linkend="variable.left.delimiter">d<EFBFBD>limiteurs tag</link>.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Les instructions if/elseif/else/endif Les instructions <link
linkend="language.function.if">if/elseif/else/endif</link>
sont pass<73>es au parser PHP, la syntaxe de l'expression {if...} sont pass<73>es au parser PHP, la syntaxe de l'expression {if...}
peut <20>tre aussi simple ou aussi complexe que vous peut <20>tre aussi simple ou aussi complexe que vous
le d<>sirez. le d<>sirez.
@@ -105,29 +107,31 @@
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Imbrication illimit<69>e de sections, de 'if', etc. autoris<69>e. Imbrication illimit<69>e de <link linkend="language.function.section">sections</link>, de 'if', etc. autoris<69>e.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Il est possible d'inclure du code PHP Il est possible d'inclure du <link linkend="language.function.php">code PHP</link>
directement dans vos templates, bien que cel<65> ne soit pas obligatoire directement dans vos templates, bien que cel<65> ne soit pas obligatoire
(ni conseill<6C>), v<> que le moteur est extensible. (ni conseill<6C>), v<> que le moteur est extensible.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Support de cache int<6E>gr<67>. Support de <link linkend="caching">cache</link> int<6E>gr<67>.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Sources de templates arbitraires. Sources de <link
linkend="template.resources">templates</link> arbitraires.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Fonctions de gestion de cache personnalisables. Fonctions de <link
linkend="section.template.cache.handler.func">gestion de cache</link> personnalisables.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
@@ -137,17 +141,17 @@
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</chapter> </chapter>
<chapter id="installation"> <chapter id="installation">
<title>Installation</title> <title>Installation</title>
<sect1 id="installation.requirements"> <sect1 id="installation.requirements">
<title>Ce dont vous avez besoin</title> <title>Ce dont vous avez besoin</title>
<para> <para>
Smarty n<>cessite un serveur Web utilisant PHP 4.0.6 ou sup<75>rieur. Smarty n<>cessite un serveur Web utilisant PHP 4.0.6 ou sup<75>rieur.
</para> </para>
</sect1> </sect1>
<sect1 id="installing.smarty.basic"> <sect1 id="installing.smarty.basic">
<title>Installation de base</title> <title>Installation de base</title>
<para> <para>
@@ -169,9 +173,9 @@ debug.tpl
/internals/*.php (tous) /internals/*.php (tous)
/plugins/*.php (tous) /plugins/*.php (tous)
]]> ]]>
</screen> </screen>
</example> </example>
<para> <para>
Smarty utilise une constante PHP appel<65>e <link Smarty utilise une constante PHP appel<65>e <link
linkend="constant.smarty.dir">SMARTY_DIR</link> qui linkend="constant.smarty.dir">SMARTY_DIR</link> qui
@@ -185,11 +189,11 @@ debug.tpl
devez d<>finir SMARTY_DIR explicitement. SMARTY_DIR devez d<>finir SMARTY_DIR explicitement. SMARTY_DIR
<emphasis>doit</emphasis> avoir <20>tre termin<69> par un slash. <emphasis>doit</emphasis> avoir <20>tre termin<69> par un slash.
</para> </para>
<para> <para>
Voici comment cr<63>er une instance de Smarty dans vos scripts PHP : Voici comment cr<63>er une instance de Smarty dans vos scripts PHP :
</para> </para>
<example> <example>
<title>cr<EFBFBD>er une instance de Smarty</title> <title>cr<EFBFBD>er une instance de Smarty</title>
<programlisting role="php"> <programlisting role="php">
@@ -201,13 +205,13 @@ $smarty = new Smarty;
]]> ]]>
</programlisting> </programlisting>
</example> </example>
<para> <para>
Essayez de lancer le script ci-dessus. Si vous obtenez une erreur indiquant Essayez de lancer le script ci-dessus. Si vous obtenez une erreur indiquant
que le fichier <filename>Smarty.class.php</filename> n'est pas trouv<75>, que le fichier <filename>Smarty.class.php</filename> n'est pas trouv<75>,
tentez l'une des actions suivantes : tentez l'une des actions suivantes :
</para> </para>
<example> <example>
<title>fournir un chemin absolu vers la biblioth<74>que Smarty</title> <title>fournir un chemin absolu vers la biblioth<74>que Smarty</title>
<programlisting role="php"> <programlisting role="php">
@@ -219,7 +223,7 @@ $smarty = new Smarty;
]]> ]]>
</programlisting> </programlisting>
</example> </example>
<example> <example>
<title>Ajouter le r<>pertoire de la biblioth<74>que dans l'include_path de PHP</title> <title>Ajouter le r<>pertoire de la biblioth<74>que dans l'include_path de PHP</title>
<programlisting role="php"> <programlisting role="php">
@@ -234,7 +238,7 @@ $smarty = new Smarty;
]]> ]]>
</programlisting> </programlisting>
</example> </example>
<example> <example>
<title>D<EFBFBD>finir explicitement la constante SMARTY_DIR</title> <title>D<EFBFBD>finir explicitement la constante SMARTY_DIR</title>
<programlisting role="php"> <programlisting role="php">
@@ -247,7 +251,7 @@ $smarty = new Smarty;
]]> ]]>
</programlisting> </programlisting>
</example> </example>
<para> <para>
Maintenant que les fichiers de la librairie sont en place, Maintenant que les fichiers de la librairie sont en place,
il est temps de d<>finir les r<>pertoires de Smarty, pour votre application. il est temps de d<>finir les r<>pertoires de Smarty, pour votre application.
@@ -256,9 +260,13 @@ $smarty = new Smarty;
<filename class="directory">templates_c</filename>, <filename class="directory">templates_c</filename>,
<filename class="directory">configs</filename> et <filename class="directory">configs</filename> et
<filename class="directory">cache</filename>. Chacun d'entre eux peut <20>tre d<>fini <filename class="directory">cache</filename>. Chacun d'entre eux peut <20>tre d<>fini
via les attributs <varname>$template_dir</varname>, via les attributs <link linkend="variable.template.dir">
<varname>$compile_dir</varname>, <varname>$config_dir</varname> et <varname>$template_dir</varname></link>,
<varname>$cache_dir</varname> respectivement. Il est vivement <link linkend="variable.compile.dir">
<varname>$compile_dir</varname></link>, <link linkend="variable.config.dir">
<varname>$config_dir</varname></link> et
<link linkend="variable.cache.dir">
<varname>$cache_dir</varname></link> respectivement. Il est vivement
conseill<6C> que vous r<>gliez ces r<>pertoires s<>par<61>ment pour chaque conseill<6C> que vous r<>gliez ces r<>pertoires s<>par<61>ment pour chaque
application qui utilise Smarty. application qui utilise Smarty.
</para> </para>
@@ -307,7 +315,7 @@ $smarty = new Smarty;
<para> <para>
Jetons un coup d'oeil <20> la structure de fichier obtenue : Jetons un coup d'oeil <20> la structure de fichier obtenue :
</para> </para>
<example> <example>
<title>exemple de structure de fichiers</title> <title>exemple de structure de fichiers</title>
<screen> <screen>
@@ -328,10 +336,12 @@ $smarty = new Smarty;
]]> ]]>
</screen> </screen>
</example> </example>
<para> <para>
Smarty a besoin d'acc<63>der en <20>criture aux r<>pertoires Smarty a besoin d'acc<63>der en <20>criture aux r<>pertoires
<emphasis>$compile_dir</emphasis> et <emphasis>$cache_dir</emphasis>, <link linkend="variable.compile.dir">
<emphasis>$compile_dir</emphasis></link> et <link linkend="variable.cache.dir">
<emphasis>$cache_dir</emphasis></link>,
assurez-vous donc que le serveur Web dispose de ces droits d'acc<63>s. assurez-vous donc que le serveur Web dispose de ces droits d'acc<63>s.
Il s'agit g<>n<EFBFBD>ralement de l'utilisateur "nobody" et du group Il s'agit g<>n<EFBFBD>ralement de l'utilisateur "nobody" et du group
"nobody". Pour les utilisateurs de OS X, l'utilisateur par d<>faut "nobody". Pour les utilisateurs de OS X, l'utilisateur par d<>faut
@@ -340,7 +350,7 @@ $smarty = new Smarty;
"/usr/local/apache/conf/") pour d<>terminer quel est l'utilisateur "/usr/local/apache/conf/") pour d<>terminer quel est l'utilisateur
et le groupe auquel il appartient. et le groupe auquel il appartient.
</para> </para>
<example> <example>
<title>r<EFBFBD>gler les permissions d'acc<63>s</title> <title>r<EFBFBD>gler les permissions d'acc<63>s</title>
<programlisting role="shell"> <programlisting role="shell">
@@ -353,7 +363,7 @@ chmod 770 /web/www.example.com/smarty/livredor/cache/
]]> ]]>
</programlisting> </programlisting>
</example> </example>
<note> <note>
<title>Note technique</title> <title>Note technique</title>
<para> <para>
@@ -364,12 +374,12 @@ chmod 770 /web/www.example.com/smarty/livredor/cache/
vous-m<>me <20> ces fichiers), vous pouvez lui pr<70>f<EFBFBD>rer chmod 775. vous-m<>me <20> ces fichiers), vous pouvez lui pr<70>f<EFBFBD>rer chmod 775.
</para> </para>
</note> </note>
<para> <para>
Nous devons cr<63>er le fichier index.tpl que Smarty va charger. Nous devons cr<63>er le fichier index.tpl que Smarty va charger.
Il va se trouver dans $template_dir. Il va se trouver dans $template_dir.
</para> </para>
<example> <example>
<title>Edition de /web/www.example.com/smarty/templates/index.tpl</title> <title>Edition de /web/www.example.com/smarty/templates/index.tpl</title>
<screen> <screen>
@@ -381,8 +391,8 @@ Hello, {$name}!
]]> ]]>
</screen> </screen>
</example> </example>
<note> <note>
<title>Note technique</title> <title>Note technique</title>
<para> <para>
@@ -394,7 +404,7 @@ Hello, {$name}!
adapter la coloration syntaxique. adapter la coloration syntaxique.
</para> </para>
</note> </note>
<para> <para>
Maintenant passons <20> l'<27>dition du fichier index.php. Nous allons Maintenant passons <20> l'<27>dition du fichier index.php. Nous allons
cr<63>er une instance de Smarty, assigner une valeur <20> une variable cr<63>er une instance de Smarty, assigner une valeur <20> une variable
@@ -403,30 +413,30 @@ Hello, {$name}!
include_path. Assurez-vous de faire la m<>me chose ou d'utiliser include_path. Assurez-vous de faire la m<>me chose ou d'utiliser
des chemins absolus. des chemins absolus.
</para> </para>
<example> <example>
<title><EFBFBD>dition de /web/www.example.com/docs/livredor/index.php</title> <title><EFBFBD>dition de /web/www.example.com/docs/livredor/index.php</title>
<screen> <screen>
<![CDATA[ <![CDATA[
<?php <?php
// charge la biblioth<74>que Smarty // charge la biblioth<74>que Smarty
require('Smarty.class.php'); require('Smarty.class.php');
$smarty = new Smarty; $smarty = new Smarty;
$smarty->template_dir = '/web/www.example.com/smarty/livredor/templates/'; $smarty->template_dir = '/web/www.example.com/smarty/livredor/templates/';
$smarty->compile_dir = '/web/www.example.com/smarty/livredor/templates_c/'; $smarty->compile_dir = '/web/www.example.com/smarty/livredor/templates_c/';
$smarty->config_dir = '/web/www.example.com/smarty/livredor/configs/'; $smarty->config_dir = '/web/www.example.com/smarty/livredor/configs/';
$smarty->cache_dir = '/web/www.example.com/smarty/livredor/cache/'; $smarty->cache_dir = '/web/www.example.com/smarty/livredor/cache/';
$smarty->assign('name','Ned'); $smarty->assign('name','Ned');
$smarty->display('index.tpl'); $smarty->display('index.tpl');
?> ?>
]]> ]]>
</screen> </screen>
</example> </example>
<note> <note>
<title>Note techique</title> <title>Note techique</title>
<para> <para>
@@ -440,7 +450,7 @@ Hello, {$name}!
absolus. Cel<65> nous garantit que Smarty r<>cup<75>rera les bons fichiers. absolus. Cel<65> nous garantit que Smarty r<>cup<75>rera les bons fichiers.
</para> </para>
</note> </note>
<para> <para>
Et maintenant appelez le fichier <filename>index.php</filename> avec navigateur Et maintenant appelez le fichier <filename>index.php</filename> avec navigateur
Web. Vous devriez voir "Hello, Ned!". Web. Vous devriez voir "Hello, Ned!".
@@ -451,13 +461,13 @@ Hello, {$name}!
</sect1> </sect1>
<sect1 id="installing.smarty.extended"> <sect1 id="installing.smarty.extended">
<title>Configuration avanc<6E>e</title> <title>Configuration avanc<6E>e</title>
<para> <para>
Ceci est la suite de <link Ceci est la suite de <link
linkend="installing.smarty.basic">l'installation de base</link>, veuillez linkend="installing.smarty.basic">l'installation de base</link>, veuillez
lire cette derni<6E>re avant de poursuivre. lire cette derni<6E>re avant de poursuivre.
</para> </para>
<para> <para>
Une mani<6E>re un peu plus commode de configurer Smarty est de faire votre Une mani<6E>re un peu plus commode de configurer Smarty est de faire votre
propre classe fille et de l'initialiser selon votre environnement. propre classe fille et de l'initialiser selon votre environnement.
@@ -468,7 +478,7 @@ Hello, {$name}!
include_path PHP. Assurez-vous de faire la m<>me chose ou alors d'utiliser include_path PHP. Assurez-vous de faire la m<>me chose ou alors d'utiliser
des chemins absolus. des chemins absolus.
</para> </para>
<example> <example>
<title><EFBFBD>dition de /php/includes/livredor/setup.php</title> <title><EFBFBD>dition de /php/includes/livredor/setup.php</title>
<programlisting role="php"> <programlisting role="php">
@@ -476,67 +486,67 @@ Hello, {$name}!
<?php <?php
// charge la librairie Smarty // charge la librairie Smarty
require('Smarty.class.php'); require('Smarty.class.php');
// le fichier setup.php est un bon // le fichier setup.php est un bon
// endroit pour charger les fichiers // endroit pour charger les fichiers
// de librairies de l'application et vous pouvez // de librairies de l'application et vous pouvez
// faire cel<65> juste ici. Par exemple : // faire cel<65> juste ici. Par exemple :
// require('livredor/livredor.lib.php'); // require('livredor/livredor.lib.php');
class Smarty_livredor extends Smarty { class Smarty_livredor extends Smarty {
function Smarty_livredor() { function Smarty_livredor() {
// Constructeur de la classe. // Constructeur de la classe.
// Appel<65> automatiquement <20> l'instanciation de la classe. // Appel<65> automatiquement <20> l'instanciation de la classe.
$this->Smarty(); $this->Smarty();
$this->template_dir = '/web/www.example.com/smarty/livredor/templates/'; $this->template_dir = '/web/www.example.com/smarty/livredor/templates/';
$this->compile_dir = '/web/www.example.com/smarty/livredor/templates_c/'; $this->compile_dir = '/web/www.example.com/smarty/livredor/templates_c/';
$this->config_dir = '/web/www.example.com/smarty/livredor/configs/'; $this->config_dir = '/web/www.example.com/smarty/livredor/configs/';
$this->cache_dir = '/web/www.example.com/smarty/livredor/cache/'; $this->cache_dir = '/web/www.example.com/smarty/livredor/cache/';
$this->caching = true; $this->caching = true;
$this->assign('app_name', 'Guest Book'); $this->assign('app_name', 'Guest Book');
} }
} }
?> ?>
]]> ]]>
</programlisting> </programlisting>
</example> </example>
<para> <para>
Modifions maintenant le fichier index.php pour qu'il utilise "setup.php" Modifions maintenant le fichier index.php pour qu'il utilise "setup.php"
</para> </para>
<example> <example>
<title>Edition de /web/www.example.com/docs/livredor/index.php</title> <title>Edition de /web/www.example.com/docs/livredor/index.php</title>
<programlisting role="php"> <programlisting role="php">
<![CDATA[ <![CDATA[
<?php <?php
require('livredor/setup.php'); require('livredor/setup.php');
$smarty = new Smarty_livredor; $smarty = new Smarty_livredor;
$smarty->assign('name','Ned'); $smarty->assign('name','Ned');
$smarty->display('index.tpl'); $smarty->display('index.tpl');
?> ?>
]]> ]]>
</programlisting> </programlisting>
</example> </example>
<para> <para>
Vous savez maintenant qu'il est facile de cr<63>er une instance de Smarty, Vous savez maintenant qu'il est facile de cr<63>er une instance de Smarty,
correctement configur<75>e, en utilisant Smarty_livredor qui initialise correctement configur<75>e, en utilisant Smarty_livredor qui initialise
automatiquement tout ce qu'il faut pour votre application. automatiquement tout ce qu'il faut pour votre application.
</para> </para>
</sect1> </sect1>
</chapter> </chapter>
</part> </part>
@@ -559,5 +569,4 @@ End:
vim600: syn=xml fen fdm=syntax fdl=2 si vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml vim: et tw=78 syn=sgml
vi: ts=1 sw=1 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.2 Maintainer: yannick Status: ready --> <!-- EN-Revision: 1.3 Maintainer: yannick Status: ready -->
<!ENTITY note.parameter.merge '<note> <!ENTITY note.parameter.merge '<note>
<title>Note technique</title> <title>Note technique</title>
@@ -8,8 +8,8 @@
Le param<61>tre <parameter>merge</parameter> respecte les cl<63>s du tableau, Le param<61>tre <parameter>merge</parameter> respecte les cl<63>s du tableau,
donc, si vous fusionnez deux tableaux index<65>s num<75>riquement, ils peuvent donc, si vous fusionnez deux tableaux index<65>s num<75>riquement, ils peuvent
se recouvrir les uns les autres ou aboutir <20> des cl<63>s non s<>quentielles. Ceci se recouvrir les uns les autres ou aboutir <20> des cl<63>s non s<>quentielles. Ceci
est dif<69>rent de la fonction PHP array_merge() qui <20>limine des cl<63>s num<75>riques est dif<69>rent de la fonction PHP <ulink url="&url.php-manual;array_merge">array_merge()</ulink>
et les renum<75>rote. qui <20>limine des cl<63>s num<75>riques et les renum<75>rote.
</para> </para>
</note>'> </note>'>
@@ -19,10 +19,11 @@
C&#39;est au cas o<> vous voudriez compiler plusieurs versions du C&#39;est au cas o<> vous voudriez compiler plusieurs versions du
m<>me template, par exemple, pour avoir des templates compil<69>s m<>me template, par exemple, pour avoir des templates compil<69>s
pour diff<66>rents langages. Une autre utilit<69> pour l&#39;identifiant de compilation pour diff<66>rents langages. Une autre utilit<69> pour l&#39;identifiant de compilation
compile_id est lorsque vous utilisez plus d&#39;un $template_dir mais compile_id est lorsque vous utilisez plus d&#39;un
seulement un $compile_dir. D<>finissez un <parameter>compile_id</parameter> <link linkend="variable.template.dir">$template_dir</link> mais
s<EFBFBD>par<EFBFBD> pour chaque $template_dir, sinon, les templates du m<>me nom seulement un <link linkend="variable.compile.dir">$compile_dir</link>.
s&#39;effaceront. Vous pouvez <20>galement d<>finir la variable D<EFBFBD>finissez un <parameter>$compile_id</parameter>
<link linkend="variable.compile.id">$compile_id</link> une seule fois s<>par<61> pour chaque <link linkend="variable.template.dir">$template_dir</link>,
plut<EFBFBD>t que de la passer <20> chaque appel <20> la fonction. sinon, les templates du m<>me nom s&#39;effaceront. Vous pouvez <20>galement
d<>finir la variable $compile_id une seule fois plut<75>t que de la passer <20> chaque appel <20> la fonction.
</para>'> </para>'>