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