cvs: smarty /docs/fr/designers/language-builtin-functions language-function-strip.xml /docs/fr/programmers caching.xml smarty-constants.xml /docs/fr/programmers/caching caching-cacheable.xml caching-groups.xml caching-multiple-caches.xml caching-setting-up.xml /docs/fr/programmers/plugins plugins-block-functions.xml plugins-compiler-functions.xml plugins-functions.xml plugins-inserts.xml plugins-modifiers.xml plugins-naming-conventions.xml plugins-outputfilters.xml plugins-prefilters-postfilters.xml plugins-resources.xml plugins-writing.xml
[email protected] ("Yannick Torres") Sun, 08 Oct 2006 12:39:16 -0000
| Newsgroups | php.smarty.cvs |
|---|---|
| Message-ID | <cvsyannick1160311156@cvsserver> |
yannick Sun Oct 8 12:39:16 2006 UTC
Modified files:
/smarty/docs/fr/designers/language-builtin-functions
language-function-strip.xml
/smarty/docs/fr/programmers/caching caching-cacheable.xml
caching-groups.xml
caching-multiple-caches.xml
caching-setting-up.xml
/smarty/docs/fr/programmers caching.xml smarty-constants.xml
/smarty/docs/fr/programmers/plugins plugins-block-functions.xml
plugins-compiler-functions.xml
plugins-functions.xml
plugins-inserts.xml
plugins-modifiers.xml
plugins-naming-conventions.xml
plugins-outputfilters.xml
plugins-prefilters-postfilters.xml
plugins-resources.xml
plugins-writing.xml
Log:
sync with EN
yannick-20061008123916.txt
(text/plain, 63.3 KB)
http://cvs.php.net/viewvc.cgi/smarty/docs/fr/designers/language-builtin-functions/language-function-strip.xml?r1=1.7&r2=1.8&diff_format=u
Index: smarty/docs/fr/designers/language-builtin-functions/language-function-strip.xml
diff -u smarty/docs/fr/designers/language-builtin-functions/language-function-strip.xml:1.7 smarty/docs/fr/designers/language-builtin-functions/language-function-strip.xml:1.8
--- smarty/docs/fr/designers/language-builtin-functions/language-function-strip.xml:1.7 Sat Feb 18 17:54:23 2006
+++ smarty/docs/fr/designers/language-builtin-functions/language-function-strip.xml Sun Oct 8 12:39:15 2006
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.7 $ -->
-<!-- EN-Revision: 1.9 Maintainer: yannick Status: ready -->
+<!-- $Revision: 1.8 $ -->
+<!-- EN-Revision: 1.10 Maintainer: yannick Status: ready -->
<sect1 id="language.function.strip">
<title>{strip}</title>
@@ -12,16 +12,15 @@
code illisible et impossible à maintenir.
</para>
<para>
- Tout contenu situé entre les balises {strip}{/strip} se verra
+ Tout contenu situé entre les balises <varname>{strip}{/strip}</varname> se verra
allégé des espaces superflus et des retours chariots en début ou en fin
de ligne, avant qu'il ne soit affiché. De la sorte, vous pouvez
conserver vos templates lisibles, sans vous soucier des effets
indésirables que peuvent apporter les espaces superflus.
</para>
<note>
- <title>Note technique</title>
<para>
- {strip}{/strip} n'affecte en aucun cas le contenu des variables de
+ <varname>{strip}{/strip}</varname> n'affecte en aucun cas le contenu des variables de
template. Voir aussi le <link linkend="language.modifier.strip">modificateur
strip</link> pour un rendu identique pour les variables.
</para>
@@ -62,7 +61,7 @@
</para>
<para>
Voir aussi
- le <link linkend="language.modifier.strip">modificateur strip</link>.
+ le <link linkend="language.modifier.strip">modificateur <varname>strip</varname></link>.
</para>
</sect1>
http://cvs.php.net/viewvc.cgi/smarty/docs/fr/programmers/caching/caching-cacheable.xml?r1=1.8&r2=1.9&diff_format=u
Index: smarty/docs/fr/programmers/caching/caching-cacheable.xml
diff -u smarty/docs/fr/programmers/caching/caching-cacheable.xml:1.8 smarty/docs/fr/programmers/caching/caching-cacheable.xml:1.9
--- smarty/docs/fr/programmers/caching/caching-cacheable.xml:1.8 Fri Feb 17 22:40:55 2006
+++ smarty/docs/fr/programmers/caching/caching-cacheable.xml Sun Oct 8 12:39:15 2006
@@ -1,28 +1,29 @@
<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.8 $ -->
-<!-- EN-Revision: 1.9 Maintainer: didou Status: ready -->
+<!-- $Revision: 1.9 $ -->
+<!-- EN-Revision: 1.10 Maintainer: didou Status: ready -->
<sect1 id="caching.cacheable">
<title>Contrôler la mise en cache des sorties des Plugins</title>
<para>
Depuis Smarty-2.6.0, la mise en cache des plugins peut être déclarée lors
de leur inscription. Les troisièmes paramètres de
- <link linkend="api.register.block">register_block()</link>,
- <link linkend="api.register.compiler.function">register_compiler_function()</link>
- et <link linkend="api.register.block">register_function()</link> sont appelés
- <parameter>$cacheable</parameter> et valent true par défaut, ce qui est
+ <link linkend="api.register.block"><varname>register_block()</varname></link>,
+ <link linkend="api.register.compiler.function">
+ <varname>register_compiler_function()</varname></link>
+ et <link linkend="api.register.block"><varname>register_function()</varname></link> sont appelés
+ <parameter>$cacheable</parameter> et valent &true; par défaut, ce qui est
aussi le comportement par défaut des versions de Smarty précédent la 2.6.0
</para>
<para>
- Lors de l'inscription d'un plugin avec $cacheable=false, le plugin est
+ Lors de l'inscription d'un plugin avec <literal>$cacheable=false</literal>, le plugin est
appelé à chaque fois que la page est affichée, même si la page vient du
cache. La fonction plugin se comporte presque comme la fonction
- <link linkend="plugins.inserts">insert</link>.
+ <link linkend="plugins.inserts"><varname>{insert}</varname></link>.
</para>
<para>
- Contrairement à <link linkend="plugins.inserts">insert</link>
+ Contrairement à <link linkend="plugins.inserts"><varname>{insert}</varname></link>
les attributs pour le plugin ne sont pas mis en cache par défaut. Celà peut
être le cas en utilisant le quatrième paramètre
<parameter>$cache_attrs</parameter>. <parameter>$cache_attrs</parameter>
@@ -36,10 +37,7 @@
<programlisting role="php">
<![CDATA[
<?php
-
-require('Smarty.class.php');
-$smarty = new Smarty;
-$smarty->caching = true;
+$smarty->caching = 1;
function remaining_seconds($params, &$smarty) {
$remain = $params['endtime'] - time();
@@ -62,7 +60,7 @@
]]>
</programlisting>
<para>
- Où index.tpl contient :
+ Où <filename>index.tpl</filename> contient :
</para>
<programlisting>
<![CDATA[
@@ -70,7 +68,7 @@
]]>
</programlisting>
<para>
- Le nombre de secondes avant que la date de fin de $obj ne soit atteinte
+ Le nombre de secondes avant que la date de fin de <literal>$obj</literal> ne soit atteinte
change à chaque affichage de la page, même si la page est mise en cache.
Comme l'attribut endtime est mis en cache, il n'y a que l'objet qui ait
besoin d'être extrait de la base de données lors de la mise en cache de
@@ -97,17 +95,17 @@
]]>
</programlisting>
<para>
- Où index.tpl contient :
+ Où <filename>index.tpl</filename> contient :
</para>
<programlisting>
<![CDATA[
-Page created: {"0"|date_format:"%D %H:%M:%S"}
+Création de la page : {'0'|date_format:'%D %H:%M:%S'}
{dynamic}
-Now is: {"0"|date_format:"%D %H:%M:%S"}
+Heure actuelle : {'0'|date_format:'%D %H:%M:%S'}
-... do other stuff ...
+... faîtes quelque chose ici ...
{/dynamic}
]]>
@@ -116,9 +114,9 @@
<para>
Lors du rechargement de la page, vous remarquerez que les deux dates sont
- différentes. L'une est "dynamique" et l'autre est "statique". Vous pouvez
- faire ce que vous voulez entre {dynamic}...{/dynamic} et être sûrs que
- celà ne sera pas mis en cache comme le reste de la page.
+ différentes. L'une est <quote>dynamic</quote> et l'autre est <quote>static</quote>.
+ Vous pouvez faire ce que vous voulez entre <literal>{dynamic}...{/dynamic}</literal>
+ et être sûrs que cela ne sera pas mis en cache comme le reste de la page.
</para>
</sect1>
http://cvs.php.net/viewvc.cgi/smarty/docs/fr/programmers/caching/caching-groups.xml?r1=1.6&r2=1.7&diff_format=u
Index: smarty/docs/fr/programmers/caching/caching-groups.xml
diff -u smarty/docs/fr/programmers/caching/caching-groups.xml:1.6 smarty/docs/fr/programmers/caching/caching-groups.xml:1.7
--- smarty/docs/fr/programmers/caching/caching-groups.xml:1.6 Sat Feb 18 17:54:23 2006
+++ smarty/docs/fr/programmers/caching/caching-groups.xml Sun Oct 8 12:39:15 2006
@@ -1,40 +1,61 @@
<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.6 $ -->
-<!-- EN-Revision: 1.6 Maintainer: yannick Status: ready -->
+<!-- $Revision: 1.7 $ -->
+<!-- EN-Revision: 1.7 Maintainer: yannick Status: ready -->
<sect1 id="caching.groups">
<title>Groupes de fichiers de cache</title>
<para>
Vous pouvez faire des groupements plus élaborés en paramétrant les
- groupes d'identifiant de cache. Il suffit de séparer chaque sous-groupe
- avec une barre verticale "|" dans la valeur de l'identifiant de cache.
+ groupes de <parameter>$cache_id</parameter>. Il suffit de séparer chaque sous-groupe
+ avec une barre verticale <literal>|</literal> dans la valeur de <parameter>$cache_id</parameter>.
Vous pouvez faire autant de sous-groupes que vous le désirez.
</para>
- <para>
- Vous pouvez voir les groupes de cache comme une hiérarchie de dossiers.
- Par exemple, un groupe de cache "a|b|c" peut être considéré comme
- la hiérarchie de dossiers "/a/b/c/". Ainsi,
- <link linkend="api.clear.cache">clear_cache</link>(null,"a|b|c") supprimerait
- les fichiers "/a/b/c/*". clear_cache(null,"a|b") supprimerait les fichiers
- "/a/b/*". Si vous spécifiez un <link linkend="variable.compile.id">$compile_id</link>
- de cette façon : clear_cache(null,"a|b","foo"), il sera traité comme un groupe de
- cache apposé "/a/b/c/foo/". Si vous spécifiez un nom de template de cette façon :
- clear_cache("foo.tpl","a|b|c"), alors Smarty tentera d'effacer "/a/b/c/foo.tpl".
- Vous ne POUVEZ PAS effacer un nom de template spécifié sous un groupe de
- cache multiple comme "/a/b/*/foo.tpl", le groupement de cache fonctionne
- UNIQUEMENT de gauche à droite. Vous pourriez vouloir grouper vos templates
- sous un groupe de cache simple hiérarchisé pour être capable de les effacer
- comme un groupe.
- </para>
+
+ <itemizedlist>
+ <listitem><para>
+ Vous pouvez voir les groupes de cache comme une hiérarchie de dossiers.
+ Par exemple, un groupe de cache <literal>'a|b|c'</literal> peut être considéré comme
+ la hiérarchie de dossiers <literal>'/a/b/c/'</literal>.
+ </para></listitem>
+
+ <listitem><para>
+ <literal>clear_cache(null,'a|b|c')</literal>
+ supprimera les fichiers
+ <literal>'/a/b/c/*'</literal>. <literal>clear_cache(null,'a|b')</literal>
+ supprimera les fichiers <literal>'/a/b/*'</literal>.
+ </para></listitem>
+
+ <listitem><para>
+ Si vous spécifiez un
+ <link linkend="variable.compile.id"><parameter>$compile_id</parameter></link>
+ de cette façon <literal>clear_cache(null,'a|b','foo')</literal> il sera traité comme un groupe de
+ cache apposé <literal>'/a/b/c/foo/'</literal>.
+ </para></listitem>
+
+ <listitem><para>
+ Si vous spécifiez un nom de template de cette façon
+ <literal>clear_cache('foo.tpl','a|b|c')</literal> alors Smarty tentera d'effacer
+ <literal>'/a/b/c/foo.tpl'</literal>.
+ </para></listitem>
+
+ <listitem><para>
+ Vous ne POUVEZ PAS effacer un nom de template spécifié sous un groupe de
+ cache multiple comme <literal>'/a/b/*/foo.tpl'</literal>, le groupement de cache fonctionne
+ UNIQUEMENT de gauche à droite. Vous pourriez vouloir grouper vos templates
+ sous un groupe de cache simple hiérarchisé pour être capable de les effacer
+ comme un groupe.
+ </para></listitem>
+ </itemizedlist>
+
<para>
Le groupement de cache ne devrait pas être confondu avec votre hiérarchie
de dossiers de templates, le groupement de cache n'a aucune connaissance
de la façon dont vos templates sont structurés. Donc, par exemple, si
- vous avez une structure de template comme "themes/blue/index.tpl" et
- que vous voulez être capable d'effacer tous les fichiers de cache pour le thème "blue",
+ vous avez une structure de template comme <filename>themes/blue/index.tpl</filename> et
+ que vous voulez être capable d'effacer tous les fichiers de cache pour le thème <quote>blue</quote>,
vous devriez créer une structure de groupe de cache qui reflète la structure
- de fichiers de vos templates, comme display("themes/blue/index.tpl","themes|blue"),
- et les effacer avec clear_cache(null,"themes|blue").
+ de fichiers de vos templates, comme <literal>display('themes/blue/index.tpl','themes|blue')</literal>,
+ et les effacer avec <literal>clear_cache(null,'themes|blue')</literal>.
</para>
<example>
<title>Groupes d'identifiants de cache</title>
http://cvs.php.net/viewvc.cgi/smarty/docs/fr/programmers/caching/caching-multiple-caches.xml?r1=1.8&r2=1.9&diff_format=u
Index: smarty/docs/fr/programmers/caching/caching-multiple-caches.xml
diff -u smarty/docs/fr/programmers/caching/caching-multiple-caches.xml:1.8 smarty/docs/fr/programmers/caching/caching-multiple-caches.xml:1.9
--- smarty/docs/fr/programmers/caching/caching-multiple-caches.xml:1.8 Sat Feb 18 17:54:23 2006
+++ smarty/docs/fr/programmers/caching/caching-multiple-caches.xml Sun Oct 8 12:39:15 2006
@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.8 $ -->
-<!-- EN-Revision: 1.4 Maintainer: didou Status: ready -->
+<!-- $Revision: 1.9 $ -->
+<!-- EN-Revision: 1.5 Maintainer: didou Status: ready -->
<sect1 id="caching.multiple.caches">
<title>Caches multiples pour une seule page</title>
<para>
Vous pouvez avoir plusieurs fichiers de caches pour un même appel
- aux fonctions <link linkend="api.display">display()</link> ou
- <link linkend="api.fetch">fetch()</link>. Imaginons qu'un appel a
+ aux fonctions <link linkend="api.display"><varname>display()</varname></link> ou
+ <link linkend="api.fetch"><varname>fetch()</varname></link>. Imaginons qu'un appel a
display('index.tpl') puisse avoir plusieurs résultats, en fonction de
certaines conditions, et que vous vouliez des fichiers de cache séparés
pour chacun d'eux. Vous pouvez faire celà en passant un identifiant de
- cache ($cache_id) en deuxiéme paramètre a l'appel de fonction.
+ cache (<parameter>$cache_id</parameter>) en deuxiéme paramètre à l'appel de fonction.
</para>
<example>
<title>Passage d'un $cache_id à display()</title>
@@ -31,11 +31,11 @@
</programlisting>
</example>
<para>
- Nous passons ci-dessus la variable $my_cache_id a
- <link linkend="api.display">display()</link> comme
- identifiant de cache. Pour chaque valeur distincte de $my_cache_id,
+ Nous passons ci-dessus la variable <literal>$my_cache_id</literal> à
+ <link linkend="api.display"><varname>display()</varname></link> comme
+ identifiant de cache. Pour chaque valeur distincte de <literal>$my_cache_id</literal>,
un fichier de cache distinct va être créé. Dans cet exemple,
- "article_id" a été passé dans l'URL et est utilisé en tant qu'identifiant
+ <literal>article_id</literal> a été passé dans l'URL et est utilisé en tant qu'identifiant
de cache.
</para>
<note>
@@ -43,10 +43,10 @@
<para>
Soyez prudent en passant des valeurs depuis un client (navigateur Web)
vers Smarty (ou vers n'importe quelle application PHP). Bien que l'exemple
- ci-dessus consistant a utiliser article_id depuis l'URL puisse paraetre
+ ci-dessus consistant à utiliser article_id depuis l'URL puisse paraetre
commode, le résultat peut s'avérer mauvais. L'identifiant
de cache est utilisé pour créer un répertoire sur le système de fichiers,
- donc si l'utilisateur décide de donner une trés grande valeur a article_id
+ donc si l'utilisateur décide de donner une trés grande valeur à article_id
ou d'écrire un script qui envoie des article_id de façon aléatoire,
celà pourra causer des problémes coté serveur. Assurez-vous de bien
tester toute donnée passée en paramètre avant de l'utiliser. Dans cet
@@ -57,12 +57,12 @@
</note>
<para>
Assurez-vous de bien passer le même identifiant aux fonctions
- <link linkend="api.is.cached">is_cached()</link> et
- <link linkend="api.clear.cache">clear_cache()</link>.
+ <link linkend="api.is.cached"><varname>is_cached()</varname></link> et
+ <link linkend="api.clear.cache"><varname>clear_cache()</varname></link>.
</para>
<example>
<title>Passer un cache_id a is_cached()</title>
- <programlisting>
+ <programlisting role="php">
<![CDATA[
<?php
require('Smarty.class.php');
@@ -85,12 +85,12 @@
</example>
<para>
Vous pouvez effacer tous les fichiers de cache pour un identifiant
- de cache particulier en passant null en tant que premier paramètre
- à <link linkend="api.clear.cache">clear_cache()</link>.
+ de cache particulier en passant &null; en tant que premier paramètre
+ à <link linkend="api.clear.cache"><varname>clear_cache()</varname></link>.
</para>
<example>
<title>Effacement de tous les fichiers de cache pour un identifiant de cache particulier</title>
- <programlisting>
+ <programlisting role="php">
<![CDATA[
<?php
require('Smarty.class.php');
@@ -99,9 +99,9 @@
$smarty->caching = true;
// efface tous les fichiers de cache avec "sports" comme identifiant
-$smarty->clear_cache(null,"sports");
+$smarty->clear_cache(null,'sports');
-$smarty->display('index.tpl',"sports");
+$smarty->display('index.tpl','sports');
?>
]]>
</programlisting>
http://cvs.php.net/viewvc.cgi/smarty/docs/fr/programmers/caching/caching-setting-up.xml?r1=1.8&r2=1.9&diff_format=u
Index: smarty/docs/fr/programmers/caching/caching-setting-up.xml
diff -u smarty/docs/fr/programmers/caching/caching-setting-up.xml:1.8 smarty/docs/fr/programmers/caching/caching-setting-up.xml:1.9
--- smarty/docs/fr/programmers/caching/caching-setting-up.xml:1.8 Mon May 22 08:46:06 2006
+++ smarty/docs/fr/programmers/caching/caching-setting-up.xml Sun Oct 8 12:39:15 2006
@@ -1,13 +1,14 @@
<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.8 $ -->
-<!-- EN-Revision: 1.7 Maintainer: yannick Status: ready -->
+<!-- $Revision: 1.9 $ -->
+<!-- EN-Revision: 1.8 Maintainer: yannick Status: ready -->
<sect1 id="caching.setting.up">
<title>Paramétrer le cache</title>
<para>
La première chose à faire est d'activer le cache en
- mettant <link linkend="variable.caching">$caching</link> = 1
- (ou 2).
+ mettant
+ <link linkend="variable.caching"><parameter>$caching</parameter></link>
+ <literal> = 1 (ou 2)</literal>.
</para>
<example>
<title>Activation du cache</title>
@@ -25,31 +26,32 @@
</programlisting>
</example>
<para>
- Avec le cache activé, la fonction display('index.tpl') va afficher
+ Avec le cache activé, la fonction <literal>display('index.tpl')</literal> va afficher
le template mais sauvegardera par la même occasion une copie du résultat
dans un fichier (de cache) du répertoire
- <link linkend="variable.cache.dir">$cache_dir</link>. Au prochain appel de
- display('index.tpl'), le fichier de cache sera préféré à la réutilisation
- du template.
+ <link linkend="variable.cache.dir"><parameter>$cache_dir</parameter></link>.
+ Au prochain appel de <literal>display('index.tpl')</literal>, le fichier de cache sera préféré
+ à la réutilisation du template.
</para>
<note>
<title>Note technique</title>
<para>
- Les fichiers situés dans <link linkend="variable.cache.dir">$cache_dir</link>
+ Les fichiers situés dans
+ <link linkend="variable.cache.dir"><parameter>$cache_dir</parameter></link>
sont nommés de la même façon que les templates.
- Bien qu'ils aient une extension ".php", ils ne sont pas vraiment directement exécutable.
- N'éditez surtout pas ces fichiers !
+ Bien qu'ils aient une extension <filename>.php</filename>, ils ne sont pas vraiment
+ directement exécutable. N'éditez surtout pas ces fichiers !
</para>
</note>
<para>
Tout fichier de cache a une durée de vie limitée déterminée par <link
- linkend="variable.cache.lifetime">$cache_lifetime</link>. La valeur par
+ linkend="variable.cache.lifetime"><parameter>$cache_lifetime</parameter></link>. La valeur par
défaut est 3600 secondes, i.e. 1 heure. Une fois que cette durée est
dépassée, le cache est regénéré. Il est possible de donner
une durée d'expiration propre à chaque fichier de cache en réglant
- <link linkend="variable.caching">$caching</link> = 2.
+ <link linkend="variable.caching"><parameter>$caching</parameter></link><literal>=2</literal>.
Se reporter à la documentation de <link
- linkend="variable.cache.lifetime">$cache_lifetime</link> pour plus de
+ linkend="variable.cache.lifetime"><parameter>$cache_lifetime</parameter></link> pour plus de
détails.
</para>
<example>
@@ -81,12 +83,13 @@
</programlisting>
</example>
<para>
- Si <link linkend="variable.compile.check">$compile_check</link> est actif,
- chaque fichier de template et de configuration qui a un rapport
+ Si
+ <link linkend="variable.compile.check"><parameter>$compile_check</parameter></link>
+ est actif, chaque fichier de template et de configuration qui a un rapport
avec le fichier de cache sera vérifié pour détecter une éventuelle
modification. Si l'un de ces fichiers a été modifié depuis que le fichier de cache a été
généré, le cache est immédiatement regénéré. Ce processus est couteux, donc,
- pour des raisons de performances, mettez ce paramètre à false pour une application
+ pour des raisons de performances, mettez ce paramètre à &false; pour une application
en production.
</para>
<example>
@@ -106,15 +109,15 @@
</programlisting>
</example>
<para>
- Si <link linkend="variable.force.compile">$force_compile</link> est actif,
+ Si <link linkend="variable.force.compile"><parameter>$force_compile</parameter></link> est actif,
les fichiers de cache sont toujours regénérés. Ceci revient finalement à
- désactiver le cache. <link linkend="variable.force.compile">$force_compile</link>
+ désactiver le cache. <link linkend="variable.force.compile"><parameter>$force_compile</parameter></link>
est utilisé à des fins de <link linkend="chapter.debugging.console">débogage</link>,
un moyen plus efficace de désactiver le cache est de régler
- <link linkend="variable.caching">$caching</link> = 0.
+ <link linkend="variable.caching"><parameter>$caching</parameter></link><literal> = 0</literal>.
</para>
<para>
- La fonction <link linkend="api.is.cached">is_cached()</link> permet
+ La fonction <link linkend="api.is.cached"><varname>is_cached()</varname></link> permet
de tester si un template a ou non un fichier de cache valide.
Si vous disposez d'un template en cache qui requiert une requête
à une base de données, vous pouvez utiliser cette méthode plutôt
@@ -144,20 +147,20 @@
<para>
Vous pouvez rendre dynamiques seulement certaines parties d'une
page avec la fonction de template <link
- linkend="language.function.insert">{insert}</link>.
+ linkend="language.function.insert"><varname>{insert}</varname></link>.
Imaginons que toute une page doit être mise en cache à part
une bannière en bas à droite. En utilisant une fonction
- <link linkend="language.function.insert">{insert}</link> pour la
+ <link linkend="language.function.insert"><varname>{insert}</varname></link> pour la
bannière, vous pouvez garder cet élément dynamique dans le contenu qui
est en cache. Reportez-vous à la documentation
- <link linkend="language.function.insert">{insert}</link> pour plus de détails
+ <link linkend="language.function.insert"><varname>{insert}</varname></link> pour plus de détails
ainsi que des exemples.
</para>
<para>
Vous pouvez effacer tous les fichiers du cache avec la fonction <link
- linkend="api.clear.all.cache">clear_all_cache()</link>, ou de façon
+ linkend="api.clear.all.cache"><varname>clear_all_cache()</varname></link>, ou de façon
individuelle <link linkend="caching.groups">(ou par groupe)</link>
- avec la fonction <link linkend="api.clear.cache">clear_cache()</link>.
+ avec la fonction <link linkend="api.clear.cache"><varname>clear_cache()</varname></link>.
</para>
<example>
<title>Nettoyage du cache</title>
@@ -169,12 +172,12 @@
$smarty->caching = 1;
-// efface tous les fichiers du cache
-$smarty->clear_all_cache();
-
// efface le fichier de cache du template 'index.tpl'
$smarty->clear_cache('index.tpl');
+// efface tous les fichiers du cache
+$smarty->clear_all_cache();
+
$smarty->display('index.tpl');
?>
]]>
http://cvs.php.net/viewvc.cgi/smarty/docs/fr/programmers/caching.xml?r1=1.9&r2=1.10&diff_format=u
Index: smarty/docs/fr/programmers/caching.xml
diff -u smarty/docs/fr/programmers/caching.xml:1.9 smarty/docs/fr/programmers/caching.xml:1.10
--- smarty/docs/fr/programmers/caching.xml:1.9 Tue May 24 22:13:50 2005
+++ smarty/docs/fr/programmers/caching.xml Sun Oct 8 12:39:15 2006
@@ -1,18 +1,19 @@
<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.9 $ -->
-<!-- EN-Revision: 1.4 Maintainer: yannick Status: ready -->
+<!-- $Revision: 1.10 $ -->
+<!-- EN-Revision: 1.5 Maintainer: yannick Status: ready -->
+
<chapter id="caching">
<title>Cache</title>
<para>
Le cache est utilisée pour accélérer l'appel de <link
- linkend="api.display">display()</link> ou de <link
- linkend="api.fetch">fetch()</link> en sauvegardant leur résultat
+ linkend="api.display"><varname>display()</varname></link> ou de <link
+ linkend="api.fetch"><varname>fetch()</varname></link> en sauvegardant leur résultat
dans un fichier. Si un fichier de cache est disponible lors d'un appel,
il sera affiché sans qu'il ne soit nécessaire de regénérer le résultat.
Le système de cache peut accélérer les traitements de façon impressionnante,
en particulier les templates dont la compilation est très longue. Comme
- le résultat de <link linkend="api.display">display()</link> ou de
- <link linkend="api.fetch">fetch()</link>est dans le cache, un fichier de cache
+ le résultat de <link linkend="api.display"><varname>display()</varname></link> ou de
+ <link linkend="api.fetch"><varname>fetch()</varname></link>est dans le cache, un fichier de cache
peut être composé de plusieurs fichiers de templates, plusieurs fichiers
de configuration, etc.
</para>
http://cvs.php.net/viewvc.cgi/smarty/docs/fr/programmers/smarty-constants.xml?r1=1.8&r2=1.9&diff_format=u
Index: smarty/docs/fr/programmers/smarty-constants.xml
diff -u smarty/docs/fr/programmers/smarty-constants.xml:1.8 smarty/docs/fr/programmers/smarty-constants.xml:1.9
--- smarty/docs/fr/programmers/smarty-constants.xml:1.8 Sat Dec 10 17:15:59 2005
+++ smarty/docs/fr/programmers/smarty-constants.xml Sun Oct 8 12:39:15 2006
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.8 $ -->
-<!-- EN-Revision: 1.8 Maintainer: yannick Status: ready -->
+<!-- $Revision: 1.9 $ -->
+<!-- EN-Revision: 1.9 Maintainer: yannick Status: ready -->
<chapter id="smarty.constants">
<title>Constantes</title>
@@ -10,7 +10,7 @@
<para>
Il doit s'agir du <emphasis role="bold">chemin complet</emphasis>
du répertoire où se trouvent les fichiers classes de Smarty.
- S'il n'est pas défini, Smarty essaiera alors d'en
+ S'il n'est pas défini dans votre script, Smarty essaiera alors d'en
déterminer automatiquement la valeur.
S'il est défini, le chemin <emphasis role="bold">doit se terminer par un slash</emphasis>.
</para>
@@ -20,10 +20,10 @@
<![CDATA[
<?php
// définit le chemin du répertoire de Smarty sur un système *nix
-define('SMARTY_DIR', '/usr/local/lib/php/Smarty/libs/');
+define('SMARTY_DIR', '/usr/local/lib/php/Smarty-v.e.r/libs/');
// définit le chemin du répertoire de Smarty sur un système Windows
-define('SMARTY_DIR', 'c:/webroot/libs/Smarty/libs/');
+define('SMARTY_DIR', 'c:/webroot/libs/Smarty-v.e.r/libs/');
// inclut la classe Smarty. Notez le 'S' en majuscule
require_once(SMARTY_DIR . 'Smarty.class.php');
@@ -33,18 +33,18 @@
</example>
<para>
Voir aussi
- <link linkend="language.variables.smarty.const">$smarty.const</link> et
- <link linkend="variable.php.handling">$php_handling constants</link>.
+ <link linkend="language.variables.smarty.const"><parameter>$smarty.const</parameter></link> et
+ <link linkend="variable.php.handling"><parameter>$php_handling constants</parameter></link>.
</para>
</sect1>
<sect1 id="constant.smarty.core.dir">
<title>SMARTY_CORE_DIR</title>
<para>
- Il doit s'agir du chemin complet du répertoire où
+ Il doit s'agir du <emphasis>chemin complet</emphasis> du répertoire où
se trouvent les fichiers internes de Smarty. S'il n'est
pas défini, Smarty placera comme valeur par défaut la
valeur de la constante précédente
- <link linkend="constant.smarty.dir">SMARTY_DIR</link>. S'il est
+ <link linkend="constant.smarty.dir"><constant>SMARTY_DIR</constant></link>. S'il est
défini, le chemin doit se terminer par un slash. Utilisez cette
constante lorsque vous incluez manuellement n'importe
quel fichier core.*.
@@ -65,7 +65,7 @@
<para>
Voir aussi
- <link linkend="language.variables.smarty.const">$smarty.const</link>.
+ <link linkend="language.variables.smarty.const"><parameter>$smarty.const</parameter></link>.
</para>
</sect1>
</chapter>
http://cvs.php.net/viewvc.cgi/smarty/docs/fr/programmers/plugins/plugins-block-functions.xml?r1=1.4&r2=1.5&diff_format=u
Index: smarty/docs/fr/programmers/plugins/plugins-block-functions.xml
diff -u smarty/docs/fr/programmers/plugins/plugins-block-functions.xml:1.4 smarty/docs/fr/programmers/plugins/plugins-block-functions.xml:1.5
--- smarty/docs/fr/programmers/plugins/plugins-block-functions.xml:1.4 Sun Dec 26 20:05:31 2004
+++ smarty/docs/fr/programmers/plugins/plugins-block-functions.xml Sun Oct 8 12:39:15 2006
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.4 $ -->
-<!-- EN-Revision: 1.3 Maintainer: yannick Status: ready -->
+<!-- $Revision: 1.5 $ -->
+<!-- EN-Revision: 1.4 Maintainer: yannick Status: ready -->
+
<sect1 id="plugins.block.functions">
<title>Fonctions de blocs</title>
<funcsynopsis>
@@ -12,89 +13,95 @@
</funcprototype>
</funcsynopsis>
<para>
- Les fonctions de blocs sont des fonctions de la forme {func} .. {/func}.
+ Les fonctions de blocs sont des fonctions de la forme <literal>{func} .. {/func}</literal>.
En d'autres mots, elles englobent des blocs de template et opèrent sur les
contenus de ces blocs. Les fonctions de blocs ont la priorité sur les
- fonctions utilisateurs de même nom, ce qui signifie que vous ne
- pouvez avoir une fonction utilisateur {func} et une fonction de bloc
- {func} .. {/func}.
- </para>
- <para>
- Par défaut, l'implémentation de votre fonction est appelée deux fois par Smarty :
- une fois pour la balise ouvrante et une autre fois pour la balise
- fermante (voir <literal>&$repeat</literal> ci-dessous
- sur la façon de modifier ce comportement).
- </para>
- <para>
- Seule la balise ouvrante d'une fonction de bloc peut avoir des attributs.
- Tous les attributs passés par le template aux fonctions de templates sont
- contenus dans le tableau associatif <parameter>$params</parameter>.
- Vous pouvez accéder à ces valeurs directement par
- <varname>$params['start']</varname>.
- Votre fonction a aussi accès aux attributs de la balise
- ouvrante quand c'est la balise fermante qui est exécutée.
- </para>
- <para>
- La valeur de la variable <parameter>$content</parameter> est différente
- selon si votre fonction est appelée pour la balise ouvrante ou la
- balise fermante. Si c'est pour la balise ouvrante, elle sera à
- <literal>null</literal> et si c'est la balise fermante, elle sera
- égale au contenu du bloc de template. Notez que le bloc de template
- aura déjà été exécuté par Smarty, vous recevrez donc la sortie du
- template et non sa source.
- </para>
-
- <para>
- Le paramètre <parameter>&$repeat</parameter> est passé
- par référence à la fonction d'implémentation et fournit la possibilité
- de contrôler le nombre d'affichage du bloc. Par défaut,
- <parameter>$repeat</parameter> vaut <literal>true</literal>
- lors du premier appel à la fonction de bloc (le bloc d'ouverture du tag) et
- <literal>false</literal> lors de tous les autres appels à la fonction
- de bloc (le bloc de fermeture du tag). Chaque fois que la fonction
- d'implémentation retourne avec le paramètre
- <parameter>&$repeat</parameter> vallant true, le contenu situé
- entre {func} .. {/func} est évalué et la fonction d'implémentation est appelé
- une nouvelle fois avec le nouveau bloc de contenu en tant que paramètre
- <parameter>$content</parameter>.
- </para>
-
+ <link linkend="language.custom.functions">fonctions utilisateurs</link>
+ de même nom, ce qui signifie que vous ne
+ pouvez avoir une fonction utilisateur <literal>{func}</literal> et une fonction de bloc
+ <literal>{func}..{/func}</literal>.
+ </para>
+
+ <itemizedlist>
+ <listitem><para>
+ Par défaut, l'implémentation de votre fonction est appelée deux fois par Smarty :
+ une fois pour la balise ouvrante et une autre fois pour la balise
+ fermante (voir <literal>$repeat</literal> ci-dessous
+ sur la façon de modifier ce comportement).
+ </para></listitem>
+ <listitem><para>
+ Seule la balise ouvrante d'une fonction de bloc peut avoir des
+ <link linkend="language.syntax.attributes">attributs</link>.
+ Tous les attributs passés par le template aux fonctions de templates sont
+ contenus dans le tableau associatif <parameter>$params</parameter>.
+ Votre fonction a aussi accès aux attributs de la balise
+ ouvrante quand c'est la balise fermante qui est exécutée.
+ </para></listitem>
+ <listitem><para>
+ La valeur de la variable <parameter>$content</parameter> est différente
+ selon si votre fonction est appelée pour la balise ouvrante ou la
+ balise fermante. Si c'est pour la balise ouvrante, elle sera à &null; et si c'est la balise fermante,
+ elle sera égale au contenu du bloc de template. Notez que le bloc de template
+ aura déjà été exécuté par Smarty, vous recevrez donc la sortie du
+ template et non sa source.
+ </para></listitem>
+
+ <listitem><para>
+ Le paramètre <parameter>$repeat</parameter> est passé
+ par référence à la fonction d'implémentation et fournit la possibilité
+ de contrôler le nombre d'affichage du bloc. Par défaut,
+ <parameter>$repeat</parameter> vaut
+ &true; lors du premier appel à la fonction de bloc (le bloc d'ouverture du tag) et
+ &false; lors de tous les autres appels à la fonction
+ de bloc (le bloc de fermeture du tag). Chaque fois que la fonction
+ d'implémentation retourne avec le paramètre
+ <parameter>$repeat</parameter> vallant &true;, le contenu situé
+ <literal>{func}...{/func}</literal> est évalué et la fonction d'implémentation est appelé
+ une nouvelle fois avec le nouveau bloc de contenu en tant que paramètre
+ <parameter>$content</parameter>.
+ </para></listitem>
+ </itemizedlist>
+
<para>
Si vous imbriqué des fonctions de bloc, il est possible de connaître
- la fonction de bloc parente grâce à la variable <varname>$smarty->_tag_stack</varname>.
- Faîtes un var_dump() dessus et la structure devrait apparaître.
- </para>
- <para>
- Regardez aussi :
- <link linkend="api.register.block">register_block()</link>,
- <link linkend="api.unregister.block">unregister_block()</link>.
+ la fonction de bloc parente grâce à la variable <literal>$smarty->_tag_stack</literal>.
+ Faîtes un <ulink url="&url.php-manual;var_dump"><varname>var_dump()</varname></ulink>
+ dessus et la structure devrait apparaître.
</para>
<example>
<title>Fonction de bloc</title>
<programlisting role="php">
-<![CDATA[
+ <![CDATA[
<?php
/*
- * Smarty plugin
- * -------------------------------------------------------------
- * Fichier : block.translate.php
- * Type : bloc
- * Nom : translate
- * Rôle : traduire un bloc de texte
- * -------------------------------------------------------------
- */
-function smarty_block_translate($params, $content, &$smarty)
+* Smarty plugin
+* -------------------------------------------------------------
+* Fichier : block.translate.php
+* Type : bloc
+* Nom : translate
+* Rôle : traduire un bloc de texte
+* -------------------------------------------------------------
+*/
+function smarty_block_translate($params, $content, &$smarty, &$repeat)
{
- if ($content) {
- $lang = $params['lang'];
- // fait une traduction de $content
- echo $translation;
- }
+ // n'affiche que lors de la balise fermante
+ if(!$repeat){
+ if (isset($content)) {
+ $lang = $params['lang'];
+ // effectuer une bonne traduction ici avec $content
+ return $translation;
+ }
+ }
}
?>
]]>
</programlisting>
</example>
+ <para>
+ Voir aussi :
+ <link linkend="api.register.block"><varname>register_block()</varname></link> et
+ <link linkend="api.unregister.block"><varname>unregister_block()</varname></link>.
+ </para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
http://cvs.php.net/viewvc.cgi/smarty/docs/fr/programmers/plugins/plugins-compiler-functions.xml?r1=1.4&r2=1.5&diff_format=u
Index: smarty/docs/fr/programmers/plugins/plugins-compiler-functions.xml
diff -u smarty/docs/fr/programmers/plugins/plugins-compiler-functions.xml:1.4 smarty/docs/fr/programmers/plugins/plugins-compiler-functions.xml:1.5
--- smarty/docs/fr/programmers/plugins/plugins-compiler-functions.xml:1.4 Sun Dec 26 20:05:31 2004
+++ smarty/docs/fr/programmers/plugins/plugins-compiler-functions.xml Sun Oct 8 12:39:15 2006
@@ -1,13 +1,15 @@
<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.4 $ -->
-<!-- EN-Revision: 1.2 Maintainer: yannick Status: ready -->
+<!-- $Revision: 1.5 $ -->
+<!-- EN-Revision: 1.3 Maintainer: yannick Status: ready -->
+
<sect1 id="plugins.compiler.functions">
<title>Fonctions de compilation</title>
<para>
Les fonctions de compilation sont appelées durant la compilation du template.
Elles sont utiles pour injecter du code PHP ou du contenu "statique variant
avec le temps" (bandeau de pub par ex.). Si une fonction de compilation et
- une fonction personnalisée ont le même nom, la fonction de compilation a priorité.
+ une <link linkend="language.custom.functions">fonction personnalisée</link>
+ ont le même nom, la fonction de compilation a priorité.
</para>
<funcsynopsis>
<funcprototype>
@@ -22,11 +24,6 @@
l'objet Smarty. Elles sont censées retourner le code PHP qui doit être
injecté dans le template compilé.
</para>
- <para>
- Regardez aussi
- <link linkend="api.register.compiler.function">register_compiler_function()</link>,
- <link linkend="api.unregister.compiler.function">unregister_compiler_function()</link>.
- </para>
<example>
<title>Fonction de compilation simple</title>
<programlisting role="php">
@@ -53,8 +50,10 @@
Cette fonction peut-être appelée depuis le template comme suivant :
</para>
<programlisting>
+<![CDATA[
{* cette fonction n'est executée que lors de la compilation *}
{tplheader}
+]]>
</programlisting>
<para>
Le code PHP résultant dans les templates compilés ressemblerait à ça :
@@ -67,6 +66,11 @@
]]>
</programlisting>
</example>
+ <para>
+ Voir aussi :
+ <link linkend="api.register.compiler.function"><varname>register_compiler_function()</varname></link> et
+ <link linkend="api.unregister.compiler.function"><varname>unregister_compiler_function()</varname></link>.
+ </para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
http://cvs.php.net/viewvc.cgi/smarty/docs/fr/programmers/plugins/plugins-functions.xml?r1=1.4&r2=1.5&diff_format=u
Index: smarty/docs/fr/programmers/plugins/plugins-functions.xml
diff -u smarty/docs/fr/programmers/plugins/plugins-functions.xml:1.4 smarty/docs/fr/programmers/plugins/plugins-functions.xml:1.5
--- smarty/docs/fr/programmers/plugins/plugins-functions.xml:1.4 Sun Dec 26 20:05:31 2004
+++ smarty/docs/fr/programmers/plugins/plugins-functions.xml Sun Oct 8 12:39:15 2006
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.4 $ -->
-<!-- EN-Revision: 1.2 Maintainer: yannick Status: ready -->
+<!-- $Revision: 1.5 $ -->
+<!-- EN-Revision: 1.3 Maintainer: yannick Status: ready -->
+
<sect1 id="plugins.functions">
<title>Les fonctions de templates</title>
<funcsynopsis>
@@ -11,14 +12,17 @@
</funcprototype>
</funcsynopsis>
<para>
- Tous les attributs passés aux fonctions de template à partir du template
+ Tous les <link linkend="language.syntax.attributes">attributs</link>
+ passés aux fonctions de template à partir du template
sont contenus dans le tableau associatif <parameter>$params</parameter>.
</para>
<para>
Le retour de la fonction sera substituée à la balise de fonction
- du template (fonction <function>fetch</function> par exemple). Sinon,
- la fonction peut simplement accomplir une autre tâche sans sortie
- (la fonction <function>assign</function> par exemple).
+ du template (fonction
+ <link linkend="language.function.fetch"><varname>{fetch}</varname></link>
+ par exemple). Sinon, la fonction peut simplement accomplir une autre tâche sans sortie
+ (la fonction <link linkend="language.function.assign">
+ <varname>{assign}</varname></link> par exemple).
</para>
<para>
Si la fonction a besoin d'assigner des variables aux templates ou d'utiliser
@@ -26,11 +30,6 @@
objet <parameter>$smarty</parameter> pour celà.
</para>
<para>
- Référez-vous aussi à :
- <link linkend="api.register.function">register_function()</link>,
- <link linkend="api.unregister.function">unregister_function()</link>.
- </para>
- <para>
<example>
<title>Fonction de plugin avec sortie</title>
<programlisting role="php">
@@ -105,6 +104,11 @@
</programlisting>
</example>
</para>
+ <para>
+ Voir aussi :
+ <link linkend="api.register.function"><varname>register_function()</varname></link> et
+ <link linkend="api.unregister.function"><varname>unregister_function()</varname></link>.
+ </para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
http://cvs.php.net/viewvc.cgi/smarty/docs/fr/programmers/plugins/plugins-inserts.xml?r1=1.6&r2=1.7&diff_format=u
Index: smarty/docs/fr/programmers/plugins/plugins-inserts.xml
diff -u smarty/docs/fr/programmers/plugins/plugins-inserts.xml:1.6 smarty/docs/fr/programmers/plugins/plugins-inserts.xml:1.7
--- smarty/docs/fr/programmers/plugins/plugins-inserts.xml:1.6 Fri Feb 17 22:40:55 2006
+++ smarty/docs/fr/programmers/plugins/plugins-inserts.xml Sun Oct 8 12:39:15 2006
@@ -1,13 +1,13 @@
<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.6 $ -->
-<!-- EN-Revision: 1.3 Maintainer: yannick Status: ready -->
+<!-- $Revision: 1.7 $ -->
+<!-- EN-Revision: 1.4 Maintainer: yannick Status: ready -->
<sect1 id="plugins.inserts">
<title>Insertions</title>
<para>
Les plugins d'insertion sont utilisés pour implémenter les fonctions
qui sont appelées par les balises
- <link linkend="language.function.insert">{insert}</link>
+ <link linkend="language.function.insert"><varname>{insert}</varname></link>
dans les templates.
</para>
<funcsynopsis>
@@ -23,7 +23,7 @@
</para>
<para>
La fonction d'insertion est supposée retourner le résultat qui sera
- substitué à la balise <command>{insert}</command> dans le template.
+ substitué à la balise <varname>{insert}</varname> dans le template.
</para>
<example>
<title>Plugin d'insertion</title>
http://cvs.php.net/viewvc.cgi/smarty/docs/fr/programmers/plugins/plugins-modifiers.xml?r1=1.4&r2=1.5&diff_format=u
Index: smarty/docs/fr/programmers/plugins/plugins-modifiers.xml
diff -u smarty/docs/fr/programmers/plugins/plugins-modifiers.xml:1.4 smarty/docs/fr/programmers/plugins/plugins-modifiers.xml:1.5
--- smarty/docs/fr/programmers/plugins/plugins-modifiers.xml:1.4 Sun Dec 26 20:05:31 2004
+++ smarty/docs/fr/programmers/plugins/plugins-modifiers.xml Sun Oct 8 12:39:15 2006
@@ -1,10 +1,12 @@
<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.4 $ -->
-<!-- EN-Revision: 1.2 Maintainer: yannick Status: ready -->
+<!-- $Revision: 1.5 $ -->
+<!-- EN-Revision: 1.3 Maintainer: yannick Status: ready -->
+
<sect1 id="plugins.modifiers">
<title>Modificateurs</title>
<para>
- Les modificateurs sont des petites fonctions appliquées à une variable
+ Les <link linkend="language.modifiers">modificateurs</link>
+ sont de petites fonctions appliquées à une variable
de template avant qu'elle ne soit affichée ou utilisée dans un autre contexte.
Les modificateurs peuvent être chaînés entre eux.
</para>
@@ -22,12 +24,8 @@
effectué.
</para>
<para>
- Le modificateur doit retourner le résultat de son exécution.
- </para>
- <para>
- Lisez également
- <link linkend="api.register.modifier">register_modifier()</link> et
- <link linkend="api.unregister.modifier">unregister_modifier()</link>.
+ Le modificateur doit <ulink url="&url.php-manual;return">retourner</ulink>
+ le résultat de son exécution.
</para>
<example>
<title>Plugin modificateur simple</title>
@@ -93,6 +91,11 @@
]]>
</programlisting>
</example>
+ <para>
+ Voir aussi :
+ <link linkend="api.register.modifier"><varname>register_modifier()</varname></link> et
+ <link linkend="api.unregister.modifier"><varname>unregister_modifier()</varname></link>.
+ </para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
http://cvs.php.net/viewvc.cgi/smarty/docs/fr/programmers/plugins/plugins-naming-conventions.xml?r1=1.3&r2=1.4&diff_format=u
Index: smarty/docs/fr/programmers/plugins/plugins-naming-conventions.xml
diff -u smarty/docs/fr/programmers/plugins/plugins-naming-conventions.xml:1.3 smarty/docs/fr/programmers/plugins/plugins-naming-conventions.xml:1.4
--- smarty/docs/fr/programmers/plugins/plugins-naming-conventions.xml:1.3 Sun Dec 26 20:05:31 2004
+++ smarty/docs/fr/programmers/plugins/plugins-naming-conventions.xml Sun Oct 8 12:39:15 2006
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.3 $ -->
-<!-- EN-Revision: 1.2 Maintainer: yannick Status: ready -->
+<!-- $Revision: 1.4 $ -->
+<!-- EN-Revision: 1.3 Maintainer: yannick Status: ready -->
+
<sect1 id="plugins.naming.conventions">
<title>Conventions de nommage</title>
<para>
@@ -8,7 +9,7 @@
de nommage très spécifique pour être localisés par Smarty.
</para>
<para>
- Les fichiers de plugins doivent être nommés de la façon suivante :
+ Les fichiers de <emphasis role="bold">plugins</emphasis> doivent être nommés de la façon suivante :
<blockquote>
<para>
<filename>
@@ -17,31 +18,39 @@
</para>
</blockquote>
</para>
+
+ <itemizedlist>
+ <listitem><para>
+ Où <literal>type</literal> est l'une des valeurs suivantes :
+ <itemizedlist spacing="compact">
+ <listitem><simpara>function</simpara></listitem>
+ <listitem><simpara>modifier</simpara></listitem>
+ <listitem><simpara>block</simpara></listitem>
+ <listitem><simpara>compiler</simpara></listitem>
+ <listitem><simpara>prefilter</simpara></listitem>
+ <listitem><simpara>postfilter</simpara></listitem>
+ <listitem><simpara>outputfilter</simpara></listitem>
+ <listitem><simpara>resource</simpara></listitem>
+ <listitem><simpara>insert</simpara></listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+
+ <listitem><para>
+ Et <literal>nom</literal> doit être un identifiant valide : lettres, nombres
+ et underscore seulement, voir les
+ <ulink url="&url.php-manual;language.variables">variables php</ulink>.
+ </para></listitem>
+
+ <listitem><para>
+ Quelques exemples : <filename>function.html_select_date.php</filename>,
+ <filename>resource.db.php</filename>,
+ <filename>modifier.spacify.php</filename>.
+ </para>
+ </listitem>
+ </itemizedlist>
<para>
- Où <literal>type</literal> est l'une des valeurs suivantes :
- <itemizedlist spacing="compact">
- <listitem><simpara>function</simpara></listitem>
- <listitem><simpara>modifier</simpara></listitem>
- <listitem><simpara>block</simpara></listitem>
- <listitem><simpara>compiler</simpara></listitem>
- <listitem><simpara>prefilter</simpara></listitem>
- <listitem><simpara>postfilter</simpara></listitem>
- <listitem><simpara>outputfilter</simpara></listitem>
- <listitem><simpara>resource</simpara></listitem>
- <listitem><simpara>insert</simpara></listitem>
- </itemizedlist>
- </para>
- <para>
- Et <literal>nom</literal> doit être un identifiant valide (lettres, nombres
- et underscore seulement).
- </para>
- <para>
- Quelques exemples : <literal>function.html_select_date.php</literal>,
- <literal>resource.db.php</literal>,
- <literal>modifier.spacify.php</literal>.
- </para>
- <para>
- Les fonctions de plugins dans les fichiers de plugins doivent être
+ Les fonctions de <emphasis role="bold">plugins</emphasis> dans les fichiers de plugins doivent être
nommées de la façon suivante :
<blockquote>
<para>
@@ -49,16 +58,24 @@
</para>
</blockquote>
</para>
- <para>
- Les significations de <literal>type</literal> et de <literal>nom</literal> sont les mêmes
- que précédemment.
- </para>
+
+ <itemizedlist>
+ <listitem><para>
+ Les significations de <literal>type</literal> et de <literal>nom</literal> sont les mêmes
+ que précédemment.
+ </para></listitem>
+ <listitem><para>
+ Un exemple de nom de modificateur <varname>foo</varname> serait
+ <literal>function smarty_modifier_foo()</literal>.
+ </para></listitem>
+ </itemizedlist>
<para>
Smarty donnera des messages d'erreurs appropriés si le fichier de plugin
n'est pas trouvé ou si le fichier ou la fonction de plugin ne sont
pas nommés correctement.
</para>
</sect1>
+
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
@@ -78,4 +95,4 @@
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
--->
+-->
\ No newline at end of file
http://cvs.php.net/viewvc.cgi/smarty/docs/fr/programmers/plugins/plugins-outputfilters.xml?r1=1.4&r2=1.5&diff_format=u
Index: smarty/docs/fr/programmers/plugins/plugins-outputfilters.xml
diff -u smarty/docs/fr/programmers/plugins/plugins-outputfilters.xml:1.4 smarty/docs/fr/programmers/plugins/plugins-outputfilters.xml:1.5
--- smarty/docs/fr/programmers/plugins/plugins-outputfilters.xml:1.4 Sun Dec 26 20:05:31 2004
+++ smarty/docs/fr/programmers/plugins/plugins-outputfilters.xml Sun Oct 8 12:39:15 2006
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.4 $ -->
-<!-- EN-Revision: 1.2 Maintainer: yannick Status: ready -->
+<!-- $Revision: 1.5 $ -->
+<!-- EN-Revision: 1.3 Maintainer: yannick Status: ready -->
+
<sect1 id="plugins.outputfilters">
<title>Filtres de sortie</title>
<para>
@@ -45,7 +46,15 @@
]]>
</programlisting>
</example>
+ <para>
+ Voir aussi
+ <link linkend="api.register.outputfilter">
+ <varname>register_outputfilter()</varname></link> et
+ <link linkend="api.unregister.outputfilter">
+ <varname>unregister_outputfilter()</varname></link>.
+ </para>
</sect1>
+
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
http://cvs.php.net/viewvc.cgi/smarty/docs/fr/programmers/plugins/plugins-prefilters-postfilters.xml?r1=1.3&r2=1.4&diff_format=u
Index: smarty/docs/fr/programmers/plugins/plugins-prefilters-postfilters.xml
diff -u smarty/docs/fr/programmers/plugins/plugins-prefilters-postfilters.xml:1.3 smarty/docs/fr/programmers/plugins/plugins-prefilters-postfilters.xml:1.4
--- smarty/docs/fr/programmers/plugins/plugins-prefilters-postfilters.xml:1.3 Sun Dec 26 20:05:31 2004
+++ smarty/docs/fr/programmers/plugins/plugins-prefilters-postfilters.xml Sun Oct 8 12:39:15 2006
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.3 $ -->
-<!-- EN-Revision: 1.2 Maintainer: yannick Status: ready -->
+<!-- $Revision: 1.4 $ -->
+<!-- EN-Revision: 1.3 Maintainer: yannick Status: ready -->
+
<sect1 id="plugins.prefilters.postfilters">
<title>filtres de pré-compilation/filtres de post-compilation</title>
<para>
@@ -84,6 +85,17 @@
]]>
</programlisting>
</example>
+ <para>
+ Voir aussi
+ <link linkend="api.register.prefilter">
+ <varname>register_prefilter()</varname></link>,
+ <link linkend="api.unregister.prefilter">
+ <varname>unregister_prefilter()</varname></link>
+ <link linkend="api.register.postfilter">
+ <varname>register_postfilter()</varname></link> et
+ <link linkend="api.unregister.postfilter">
+ <varname>unregister_postfilter()</varname></link>.
+ </para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
http://cvs.php.net/viewvc.cgi/smarty/docs/fr/programmers/plugins/plugins-resources.xml?r1=1.4&r2=1.5&diff_format=u
Index: smarty/docs/fr/programmers/plugins/plugins-resources.xml
diff -u smarty/docs/fr/programmers/plugins/plugins-resources.xml:1.4 smarty/docs/fr/programmers/plugins/plugins-resources.xml:1.5
--- smarty/docs/fr/programmers/plugins/plugins-resources.xml:1.4 Sun Dec 26 20:05:31 2004
+++ smarty/docs/fr/programmers/plugins/plugins-resources.xml Sun Oct 8 12:39:15 2006
@@ -1,140 +1,147 @@
<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.4 $ -->
-<!-- EN-Revision: 1.2 Maintainer: yannick Status: ready -->
+<!-- $Revision: 1.5 $ -->
+<!-- EN-Revision: 1.3 Maintainer: yannick Status: ready -->
+
<sect1 id="plugins.resources"><title>Ressources</title>
-<para>
- Les plugins ressources sont un moyen générique de fournir des sources
- de templates ou des composants de scripts PHP à Smarty. Quelques exemples
- de ressources : bases de données, LDAP, mémoire partagée, sockets, etc.
-</para>
-<para>
- Il y au total 4 fonctions qui ont besoin d'être enregistrées pour
- chaque type de ressource. Chaque fonction reçoit le nom de la ressource demandée
- comme premier paramètre et l'objet Smarty comme dernier paramètre.
- Les autres paramètres dépendent de la fonction.
-</para>
-<funcsynopsis>
- <funcprototype>
- <funcdef>bool <function>smarty_resource_<replaceable>name</replaceable>_source</function></funcdef>
- <paramdef>string <parameter>$rsrc_name</parameter></paramdef>
- <paramdef>string <parameter>&$source</parameter></paramdef>
- <paramdef>object <parameter>&$smarty</parameter></paramdef>
- </funcprototype>
- <funcprototype>
- <funcdef>bool <function>smarty_resource_<replaceable>name</replaceable>_timestamp</function></funcdef>
- <paramdef>string <parameter>$rsrc_name</parameter></paramdef>
- <paramdef>int <parameter>&$timestamp</parameter></paramdef>
- <paramdef>object <parameter>&$smarty</parameter></paramdef>
- </funcprototype>
- <funcprototype>
- <funcdef>bool <function>smarty_resource_<replaceable>name</replaceable>_secure</function></funcdef>
- <paramdef>string <parameter>$rsrc_name</parameter></paramdef>
- <paramdef>object <parameter>&$smarty</parameter></paramdef>
- </funcprototype>
- <funcprototype>
- <funcdef>bool <function>smarty_resource_<replaceable>name</replaceable>_trusted</function></funcdef>
- <paramdef>string <parameter>$rsrc_name</parameter></paramdef>
- <paramdef>object <parameter>&$smarty</parameter></paramdef>
- </funcprototype>
-</funcsynopsis>
-
-<para>
- La première fonction est supposée récupérer la ressource. Son second
- paramètre est une variable passée par référence où le résultat doit être
- stocké. La fonction est supposée retourner <literal>true</literal> si
- elle réussit à récupérer la ressource et <literal>false</literal> sinon.
-</para>
-
-<para>
- La seconde fonction est supposée récupérer la date de dernière modification
- de la ressource demandée (comme un timestamp UNIX). Le second paramètre
- est une variable passée par référence dans laquelle la date doit
- être stockée. La fonction est supposée renvoyer <literal>true</literal> si elle
- réussit à récupérer la date et <literal>false</literal> sinon.
-</para>
-
-<para>
- La troisième fonction est supposée retourner <literal>true</literal>
- ou <literal>false</literal> selon si la ressource demandée est sûre
- ou non. La fonction est utilisée seulement pour les ressources templates
- mais doit tout de même être définie.
-</para>
-
-<para>
- La quatrième fonction est supposée retourner <literal>true</literal>
- ou <literal>false</literal> selon si l'on peut faire confiance ou
- non à la ressource demandée. Cette fonction est utilisée seulement
- pour les composants de scripts PHP demandés par les balises
- <command>include_php</command> ou <command>insert</command>
- ayant un attribut <structfield>src</structfield>. Quoiqu'il en soit,
- elle doit être définie pour les ressources templates.
-</para>
-
-<para>
- Lisez également
- <link linkend="api.register.resource">register_resource()</link> et
- <link linkend="api.unregister.resource">unregister_resource()</link>.
-</para>
-<example>
- <title>resource plugin</title>
- <programlisting role="php">
+ <para>
+ Les plugins ressources sont un moyen générique de fournir des sources
+ de templates ou des composants de scripts PHP à Smarty. Quelques exemples
+ de ressources : bases de données, LDAP, mémoire partagée, sockets, etc.
+ </para>
+ <para>
+ Il y au total quatre fonctions qui ont besoin d'être enregistrées pour
+ chaque type de ressource. Chaque fonction reçoit le nom de la ressource demandée
+ comme premier paramètre et l'objet Smarty comme dernier paramètre.
+ Les autres paramètres dépendent de la fonction.
+ </para>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>bool <function>smarty_resource_<replaceable>name</replaceable>_source</function></funcdef>
+ <paramdef>string <parameter>$rsrc_name</parameter></paramdef>
+ <paramdef>string <parameter>&$source</parameter></paramdef>
+ <paramdef>object <parameter>&$smarty</parameter></paramdef>
+ </funcprototype>
+ <funcprototype>
+ <funcdef>bool <function>smarty_resource_<replaceable>name</replaceable>_timestamp</function></funcdef>
+ <paramdef>string <parameter>$rsrc_name</parameter></paramdef>
+ <paramdef>int <parameter>&$timestamp</parameter></paramdef>
+ <paramdef>object <parameter>&$smarty</parameter></paramdef>
+ </funcprototype>
+ <funcprototype>
+ <funcdef>bool <function>smarty_resource_<replaceable>name</replaceable>_secure</function></funcdef>
+ <paramdef>string <parameter>$rsrc_name</parameter></paramdef>
+ <paramdef>object <parameter>&$smarty</parameter></paramdef>
+ </funcprototype>
+ <funcprototype>
+ <funcdef>bool <function>smarty_resource_<replaceable>name</replaceable>_trusted</function></funcdef>
+ <paramdef>string <parameter>$rsrc_name</parameter></paramdef>
+ <paramdef>object <parameter>&$smarty</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ La première fonction est supposée récupérer la ressource. Son second
+ paramètre est une variable passée par référence où le résultat doit être
+ stocké. La fonction est supposée retourner &true; si
+ elle réussit à récupérer la ressource et &false; sinon.
+ </para></listitem>
+
+ <listitem><para>
+ La seconde fonction est supposée récupérer la date de dernière modification
+ de la ressource demandée (comme un timestamp UNIX). Le second paramètre
+ est une variable passée par référence dans laquelle la date doit
+ être stockée. La fonction est supposée renvoyer &true; si elle
+ réussit à récupérer la date et &false; sinon.
+ </para></listitem>
+
+ <listitem><para>
+ La troisième fonction est supposée retourner &true;
+ ou &false; selon si la ressource demandée est sûre
+ ou non. La fonction est utilisée seulement pour les ressources templates
+ mais doit tout de même être définie.
+ </para></listitem>
+
+ <listitem><para>
+ La quatrième fonction est supposée retourner &true;
+ ou &false; selon si l'on peut faire confiance ou
+ non à la ressource demandée. Cette fonction est utilisée seulement
+ pour les composants de scripts PHP demandés par les balises
+ <link linkend="language.function.include.php">
+ <varname>{include_php}</varname></link> ou
+ <link linkend="language.function.insert"><varname>{insert}</varname></link>
+ ayant un attribut <parameter>src</parameter>. Quoiqu'il en soit,
+ elle doit être définie pour les ressources templates.
+ </para></listitem>
+ </itemizedlist>
+
+ <example>
+ <title>resource plugin</title>
+ <programlisting role="php">
<![CDATA[
<?php
/*
- * Smarty plugin
- * -------------------------------------------------------------
- * Fichier : resource.db.php
- * Type : ressource
- * Nom : db
- * Rôle : Récupére des templates depuis une base de données
- * -------------------------------------------------------------
- */
+* Smarty plugin
+* -------------------------------------------------------------
+* Fichier : resource.db.php
+* Type : ressource
+* Nom : db
+* Rôle : Récupére des templates depuis une base de données
+* -------------------------------------------------------------
+*/
function smarty_resource_db_source($tpl_name, &$tpl_source, &$smarty)
{
- // fait des requêtes BD pour récupérer votre template
- // et remplir $tpl_source
- $sql = new SQL;
- $sql->query("select tpl_source
- from my_table
- where tpl_name='$tpl_name'");
- if ($sql->num_rows) {
- $tpl_source = $sql->record['tpl_source'];
- return true;
- } else {
- return false;
- }
+ // fait des requêtes BD pour récupérer votre template
+ // et remplir $tpl_source
+ $sql = new SQL;
+ $sql->query("select tpl_source
+ from my_table
+ where tpl_name='$tpl_name'");
+ if ($sql->num_rows) {
+ $tpl_source = $sql->record['tpl_source'];
+ return true;
+ } else {
+ return false;
+ }
}
function smarty_resource_db_timestamp($tpl_name, &$tpl_timestamp, &$smarty)
{
- // fait des requêtes BD pour remplir $tpl_timestamp
- $sql = new SQL;
- $sql->query("select tpl_timestamp
- from my_table
- where tpl_name='$tpl_name'");
- if ($sql->num_rows) {
- $tpl_timestamp = $sql->record['tpl_timestamp'];
- return true;
- } else {
- return false;
- }
+ // fait des requêtes BD pour remplir $tpl_timestamp
+ $sql = new SQL;
+ $sql->query("select tpl_timestamp
+ from my_table
+ where tpl_name='$tpl_name'");
+ if ($sql->num_rows) {
+ $tpl_timestamp = $sql->record['tpl_timestamp'];
+ return true;
+ } else {
+ return false;
+ }
}
function smarty_resource_db_secure($tpl_name, &$smarty)
{
- // suppose que tous les templates sont svrs
- return true;
+ // suppose que tous les templates sont svrs
+ return true;
}
function smarty_resource_db_trusted($tpl_name, &$smarty)
{
- // inutilisée pour les templates
+ // inutilisée pour les templates
}
?>
]]>
</programlisting>
</example>
+ <para>
+ Voir aussi :
+ <link linkend="api.register.resource">register_resource()</link> et
+ <link linkend="api.unregister.resource">unregister_resource()</link>.
+ </para>
</sect1>
+
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
@@ -154,4 +161,4 @@
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
- -->
+ -->
\ No newline at end of file
http://cvs.php.net/viewvc.cgi/smarty/docs/fr/programmers/plugins/plugins-writing.xml?r1=1.3&r2=1.4&diff_format=u
Index: smarty/docs/fr/programmers/plugins/plugins-writing.xml
diff -u smarty/docs/fr/programmers/plugins/plugins-writing.xml:1.3 smarty/docs/fr/programmers/plugins/plugins-writing.xml:1.4
--- smarty/docs/fr/programmers/plugins/plugins-writing.xml:1.3 Sun Dec 26 20:05:31 2004
+++ smarty/docs/fr/programmers/plugins/plugins-writing.xml Sun Oct 8 12:39:15 2006
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.3 $ -->
-<!-- EN-Revision: 1.2 Maintainer: yannick Status: ready -->
+<!-- $Revision: 1.4 $ -->
+<!-- EN-Revision: 1.3 Maintainer: yannick Status: ready -->
+
<sect1 id="plugins.writing">
<title>Ecrire des plugins</title>
<para>
@@ -28,9 +29,20 @@
</programlisting>
<para>
Une règle générale est que chaque objet Smarty est toujours passé au plugin
- en tant que dernier paramètre (à part pour les modificateurs).
+ en tant que dernier paramètre, sauf pour deux exceptions :
</para>
+ <itemizedlist>
+ <listitem><para>
+ les modificateurs ne sont pas passés du tout à l'objet Smarty
+ </para></listitem>
+ <listitem><para>
+ les blocs récupèrent le paramètre
+ <parameter>$repeat</parameter> passé après l'objet Smarty afin de
+ conserver une compatibilité avec les anciennes versions de Smarty.
+ </para></listitem>
+ </itemizedlist>
</sect1>
+
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
@@ -50,4 +62,4 @@
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
--->
+-->
\ No newline at end of file