mirror of
https://github.com/smarty-php/smarty.git
synced 2025-08-06 03:14:27 +02:00
sync with EN
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: 1.9 Maintainer: yannick Status: ready -->
|
||||
<!-- EN-Revision: 1.10 Maintainer: yannick Status: ready -->
|
||||
|
||||
<sect1 id="language.function.strip">
|
||||
<title>{strip}</title>
|
||||
@@ -12,16 +12,15 @@
|
||||
code illisible et impossible <20> maintenir.
|
||||
</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
|
||||
de ligne, avant qu'il ne soit affich<63>. De la sorte, vous pouvez
|
||||
conserver vos templates lisibles, sans vous soucier des effets
|
||||
ind<6E>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>
|
||||
|
||||
|
@@ -1,18 +1,19 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: 1.4 Maintainer: yannick Status: ready -->
|
||||
<!-- EN-Revision: 1.5 Maintainer: yannick Status: ready -->
|
||||
|
||||
<chapter id="caching">
|
||||
<title>Cache</title>
|
||||
<para>
|
||||
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.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<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,
|
||||
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
|
||||
<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 <20>tre compos<6F> de plusieurs fichiers de templates, plusieurs fichiers
|
||||
de configuration, etc.
|
||||
</para>
|
||||
|
@@ -1,28 +1,29 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: 1.9 Maintainer: didou Status: ready -->
|
||||
<!-- EN-Revision: 1.10 Maintainer: didou Status: ready -->
|
||||
|
||||
<sect1 id="caching.cacheable">
|
||||
<title>Contr<EFBFBD>ler la mise en cache des sorties des Plugins</title>
|
||||
<para>
|
||||
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
|
||||
<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<65>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<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
|
||||
</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
|
||||
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 <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
|
||||
<20>tre le cas en utilisant le quatri<72>me param<61>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 @@ $smarty->display('index.tpl');
|
||||
]]>
|
||||
</programlisting>
|
||||
<para>
|
||||
O<> index.tpl contient :
|
||||
O<> <filename>index.tpl</filename> contient :
|
||||
</para>
|
||||
<programlisting>
|
||||
<![CDATA[
|
||||
@@ -70,7 +68,7 @@ Time Remaining: {remaining endtime=$obj->endtime}
|
||||
]]>
|
||||
</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 <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
|
||||
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>
|
||||
<para>
|
||||
O<> index.tpl contient :
|
||||
O<> <filename>index.tpl</filename> contient :
|
||||
</para>
|
||||
<programlisting>
|
||||
<![CDATA[
|
||||
Page created: {"0"|date_format:"%D %H:%M:%S"}
|
||||
Cr<EFBFBD>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<EFBFBD>tes quelque chose ici ...
|
||||
|
||||
{/dynamic}
|
||||
]]>
|
||||
@@ -116,9 +114,9 @@ Now is: {"0"|date_format:"%D %H:%M:%S"}
|
||||
|
||||
<para>
|
||||
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
|
||||
faire ce que vous voulez entre {dynamic}...{/dynamic} et <20>tre s<>rs que
|
||||
cel<EFBFBD> ne sera pas mis en cache comme le reste de la page.
|
||||
diff<66>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 <20>tre s<>rs que cela ne sera pas mis en cache comme le reste de la page.
|
||||
</para>
|
||||
|
||||
</sect1>
|
||||
|
@@ -1,40 +1,61 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: 1.6 Maintainer: yannick Status: ready -->
|
||||
<!-- 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 <20>labor<6F>s en param<61>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<68>rarchie de dossiers.
|
||||
Par exemple, un groupe de cache "a|b|c" peut <20>tre consid<69>r<EFBFBD> comme
|
||||
la hi<68>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<73>cifiez un <link linkend="variable.compile.id">$compile_id</link>
|
||||
de cette fa<66>on : clear_cache(null,"a|b","foo"), il sera trait<69> comme un groupe de
|
||||
cache appos<6F> "/a/b/c/foo/". Si vous sp<73>cifiez un nom de template de cette fa<66>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<73>cifi<66> sous un groupe de
|
||||
cache multiple comme "/a/b/*/foo.tpl", le groupement de cache fonctionne
|
||||
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
|
||||
comme un groupe.
|
||||
</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem><para>
|
||||
Vous pouvez voir les groupes de cache comme une hi<68>rarchie de dossiers.
|
||||
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 <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<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
|
||||
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
|
||||
sous un groupe de cache simple hi<68>rarchis<69> pour <20>tre capable de les effacer
|
||||
comme un groupe.
|
||||
</para></listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<para>
|
||||
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 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
|
||||
que vous voulez <20>tre capable d'effacer tous les fichiers de cache pour le th<74>me "blue",
|
||||
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 <quote>blue</quote>,
|
||||
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"),
|
||||
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>
|
||||
|
@@ -1,17 +1,17 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: 1.4 Maintainer: didou Status: ready -->
|
||||
<!-- 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<61>s
|
||||
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>
|
||||
<example>
|
||||
<title>Passage d'un $cache_id <20> display()</title>
|
||||
@@ -31,11 +31,11 @@ $smarty->display('index.tpl',$my_cache_id);
|
||||
</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> <20>
|
||||
<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 <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.
|
||||
</para>
|
||||
<note>
|
||||
@@ -43,10 +43,10 @@ $smarty->display('index.tpl',$my_cache_id);
|
||||
<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 <EFBFBD> utiliser article_id depuis l'URL puisse paraetre
|
||||
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,
|
||||
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,
|
||||
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
|
||||
@@ -57,12 +57,12 @@ $smarty->display('index.tpl',$my_cache_id);
|
||||
</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 @@ $smarty->display('index.tpl',$my_cache_id);
|
||||
</example>
|
||||
<para>
|
||||
Vous pouvez effacer tous les fichiers de cache pour un identifiant
|
||||
de cache particulier en passant null en tant que premier param<61>tre
|
||||
<20> <link linkend="api.clear.cache">clear_cache()</link>.
|
||||
de cache particulier en passant &null; en tant que premier param<61>tre
|
||||
<20> <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 = new Smarty;
|
||||
$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>
|
||||
|
@@ -1,13 +1,14 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: 1.7 Maintainer: yannick Status: ready -->
|
||||
<!-- EN-Revision: 1.8 Maintainer: yannick Status: ready -->
|
||||
|
||||
<sect1 id="caching.setting.up">
|
||||
<title>Param<EFBFBD>trer le cache</title>
|
||||
<para>
|
||||
La premi<6D>re chose <20> 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 @@ $smarty->display('index.tpl');
|
||||
</programlisting>
|
||||
</example>
|
||||
<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
|
||||
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<70>f<EFBFBD>r<EFBFBD> <20> 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<70>f<EFBFBD>r<EFBFBD>
|
||||
<EFBFBD> la r<>utilisation du template.
|
||||
</para>
|
||||
<note>
|
||||
<title>Note technique</title>
|
||||
<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.
|
||||
Bien qu'ils aient une extension ".php", ils ne sont pas vraiment directement ex<65>cutable.
|
||||
N'<27>ditez surtout pas ces fichiers !
|
||||
Bien qu'ils aient une extension <filename>.php</filename>, ils ne sont pas vraiment
|
||||
directement ex<65>cutable. N'<27>ditez surtout pas ces fichiers !
|
||||
</para>
|
||||
</note>
|
||||
<para>
|
||||
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<>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
|
||||
<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
|
||||
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 @@ $smarty->display('home.tpl');
|
||||
</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<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>
|
||||
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.
|
||||
</para>
|
||||
<example>
|
||||
@@ -106,15 +109,15 @@ $smarty->display('index.tpl');
|
||||
</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<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>,
|
||||
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<71>te
|
||||
<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>
|
||||
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 <20>tre mise en cache <20> part
|
||||
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
|
||||
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.
|
||||
</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<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>
|
||||
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 = new Smarty;
|
||||
|
||||
$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');
|
||||
?>
|
||||
]]>
|
||||
|
@@ -1,6 +1,7 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: 1.3 Maintainer: yannick Status: ready -->
|
||||
<!-- 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<6F>rent 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
|
||||
pouvez avoir une fonction utilisateur {func} et une fonction de bloc
|
||||
{func} .. {/func}.
|
||||
<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>
|
||||
<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>
|
||||
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>
|
||||
de contr<74>ler le nombre d'affichage du bloc. Par d<>faut,
|
||||
<parameter>$repeat</parameter> vaut <literal>true</literal>
|
||||
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
|
||||
de bloc (le bloc de fermeture du tag). Chaque fois que la fonction
|
||||
d'impl<70>mentation retourne avec le param<61>tre
|
||||
<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>
|
||||
une nouvelle fois avec le nouveau bloc de contenu en tant que param<61>tre
|
||||
<parameter>$content</parameter>.
|
||||
</para>
|
||||
|
||||
|
||||
<itemizedlist>
|
||||
<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 <EFBFBD>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>
|
||||
de contr<74>ler le nombre d'affichage du bloc. Par d<>faut,
|
||||
<parameter>$repeat</parameter> vaut
|
||||
&true; lors du premier appel <20> la fonction de bloc (le bloc d'ouverture du tag) et
|
||||
&false; lors de tous les autres appels <20> 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
|
||||
<parameter>$repeat</parameter> vallant &true;, le contenu situ<74>
|
||||
<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
|
||||
<parameter>$content</parameter>.
|
||||
</para></listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<para>
|
||||
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>.
|
||||
Fa<46>tes un var_dump() dessus et la structure devrait appara<72>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<67>ce <20> la variable <literal>$smarty->_tag_stack</literal>.
|
||||
Fa<46>tes un <ulink url="&url.php-manual;var_dump"><varname>var_dump()</varname></ulink>
|
||||
dessus et la structure devrait appara<72>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:
|
||||
|
@@ -1,13 +1,15 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: 1.2 Maintainer: yannick Status: ready -->
|
||||
<!-- 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<65>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<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>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
@@ -22,11 +24,6 @@
|
||||
l'objet Smarty. Elles sont cens<6E>es retourner le code PHP qui doit <20>tre
|
||||
inject<63> dans le template compil<69>.
|
||||
</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 @@ function smarty_compiler_tplheader($tag_arg, &$smarty)
|
||||
Cette fonction peut-<2D>tre appel<65>e depuis le template comme suivant :
|
||||
</para>
|
||||
<programlisting>
|
||||
<![CDATA[
|
||||
{* cette fonction n'est execut<75>e que lors de la compilation *}
|
||||
{tplheader}
|
||||
]]>
|
||||
</programlisting>
|
||||
<para>
|
||||
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>
|
||||
</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:
|
||||
|
@@ -1,6 +1,7 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: 1.2 Maintainer: yannick Status: ready -->
|
||||
<!-- EN-Revision: 1.3 Maintainer: yannick Status: ready -->
|
||||
|
||||
<sect1 id="plugins.functions">
|
||||
<title>Les fonctions de templates</title>
|
||||
<funcsynopsis>
|
||||
@@ -11,25 +12,23 @@
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
<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>.
|
||||
</para>
|
||||
<para>
|
||||
Le retour de la fonction sera substitu<74>e <20> 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
|
||||
d'autres fonctionnalit<69>s fournies par Smarty, elle peut recevoir un
|
||||
objet <parameter>$smarty</parameter> pour cel<65>.
|
||||
</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>
|
||||
<example>
|
||||
<title>Fonction de plugin avec sortie</title>
|
||||
@@ -105,6 +104,11 @@ function smarty_function_assign($params, &$smarty)
|
||||
</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:
|
||||
|
@@ -1,13 +1,13 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: 1.3 Maintainer: yannick Status: ready -->
|
||||
<!-- EN-Revision: 1.4 Maintainer: yannick Status: ready -->
|
||||
|
||||
<sect1 id="plugins.inserts">
|
||||
<title>Insertions</title>
|
||||
<para>
|
||||
Les plugins d'insertion sont utilis<69>s pour impl<70>menter les fonctions
|
||||
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.
|
||||
</para>
|
||||
<funcsynopsis>
|
||||
@@ -23,7 +23,7 @@
|
||||
</para>
|
||||
<para>
|
||||
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>
|
||||
<example>
|
||||
<title>Plugin d'insertion</title>
|
||||
|
@@ -1,10 +1,12 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: 1.2 Maintainer: yannick Status: ready -->
|
||||
<!-- EN-Revision: 1.3 Maintainer: yannick Status: ready -->
|
||||
|
||||
<sect1 id="plugins.modifiers">
|
||||
<title>Modificateurs</title>
|
||||
<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.
|
||||
Les modificateurs peuvent <20>tre cha<68>n<EFBFBD>s entre eux.
|
||||
</para>
|
||||
@@ -22,12 +24,8 @@
|
||||
effectu<74>.
|
||||
</para>
|
||||
<para>
|
||||
Le modificateur doit retourner le r<>sultat de son ex<65>cution.
|
||||
</para>
|
||||
<para>
|
||||
Lisez <20>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<65>cution.
|
||||
</para>
|
||||
<example>
|
||||
<title>Plugin modificateur simple</title>
|
||||
@@ -93,6 +91,11 @@ function smarty_modifier_truncate($string, $length = 80, $etc = '...',
|
||||
]]>
|
||||
</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:
|
||||
|
@@ -1,6 +1,7 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: 1.2 Maintainer: yannick Status: ready -->
|
||||
<!-- 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<74>s sp<73>cifique pour <20>tre localis<69>s par Smarty.
|
||||
</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>
|
||||
<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 <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>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
<para>
|
||||
O<EFBFBD> <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 <20>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 <20>tre
|
||||
Les fonctions de <emphasis role="bold">plugins</emphasis> dans les fichiers de plugins doivent <20>tre
|
||||
nomm<6D>es de la fa<66>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<70>c<EFBFBD>demment.
|
||||
</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem><para>
|
||||
Les significations de <literal>type</literal> et de <literal>nom</literal> sont les m<>mes
|
||||
que pr<70>c<EFBFBD>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<72>s si le fichier de plugin
|
||||
n'est pas trouv<75> ou si le fichier ou la fonction de plugin ne sont
|
||||
pas nomm<6D>s correctement.
|
||||
</para>
|
||||
</sect1>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
@@ -78,4 +95,4 @@ End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
||||
-->
|
@@ -1,6 +1,7 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: 1.2 Maintainer: yannick Status: ready -->
|
||||
<!-- EN-Revision: 1.3 Maintainer: yannick Status: ready -->
|
||||
|
||||
<sect1 id="plugins.outputfilters">
|
||||
<title>Filtres de sortie</title>
|
||||
<para>
|
||||
@@ -45,7 +46,15 @@ function smarty_outputfilter_protect_email($output, &$smarty)
|
||||
]]>
|
||||
</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
|
||||
|
@@ -1,6 +1,7 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: 1.2 Maintainer: yannick Status: ready -->
|
||||
<!-- EN-Revision: 1.3 Maintainer: yannick Status: ready -->
|
||||
|
||||
<sect1 id="plugins.prefilters.postfilters">
|
||||
<title>filtres de pr<70>-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:
|
||||
|
@@ -1,140 +1,147 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: 1.2 Maintainer: yannick Status: ready -->
|
||||
<!-- EN-Revision: 1.3 Maintainer: yannick Status: ready -->
|
||||
|
||||
<sect1 id="plugins.resources"><title>Ressources</title>
|
||||
<para>
|
||||
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 ressources : bases de donn<6E>es, LDAP, m<>moire partag<61>e, sockets, etc.
|
||||
</para>
|
||||
<para>
|
||||
Il y au total 4 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
|
||||
comme premier param<61>tre et l'objet Smarty comme dernier param<61>tre.
|
||||
Les autres param<61>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>
|
||||
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 ressources : bases de donn<6E>es, LDAP, m<>moire partag<61>e, sockets, etc.
|
||||
</para>
|
||||
<para>
|
||||
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
|
||||
comme premier param<61>tre et l'objet Smarty comme dernier param<61>tre.
|
||||
Les autres param<61>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<6D>re fonction est suppos<6F>e r<>cup<75>rer la ressource. Son second
|
||||
param<EFBFBD>tre est une variable pass<73>e par r<>f<EFBFBD>rence o<> le r<>sultat doit <20>tre
|
||||
stock<EFBFBD>. La fonction est suppos<6F>e retourner <literal>true</literal> si
|
||||
elle r<>ussit <20> r<>cup<75>rer la ressource et <literal>false</literal> sinon.
|
||||
</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
La premi<6D>re fonction est suppos<6F>e r<EFBFBD>cup<EFBFBD>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
|
||||
stock<63>. La fonction est suppos<6F>e retourner &true; si
|
||||
elle r<>ussit <20> r<>cup<75>rer la ressource et &false; sinon.
|
||||
</para></listitem>
|
||||
|
||||
<para>
|
||||
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
|
||||
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
|
||||
r<>ussit <20> r<>cup<75>rer la date et <literal>false</literal> sinon.
|
||||
</para>
|
||||
<listitem><para>
|
||||
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
|
||||
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 &true; si elle
|
||||
r<>ussit <20> r<>cup<75>rer la date et &false; sinon.
|
||||
</para></listitem>
|
||||
|
||||
<para>
|
||||
La troisi<73>me fonction est suppos<6F>e retourner <literal>true</literal>
|
||||
ou <literal>false</literal> selon si la ressource demand<6E>e est s<>re
|
||||
ou non. La fonction est utilis<69>e seulement pour les ressources templates
|
||||
mais doit tout de m<>me <20>tre d<>finie.
|
||||
</para>
|
||||
<listitem><para>
|
||||
La troisi<73>me fonction est suppos<6F>e retourner &true;
|
||||
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
|
||||
mais doit tout de m<>me <20>tre d<>finie.
|
||||
</para></listitem>
|
||||
|
||||
<para>
|
||||
La quatri<72>me fonction est suppos<6F>e retourner <literal>true</literal>
|
||||
ou <literal>false</literal> selon si l'on peut faire confiance ou
|
||||
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
|
||||
<command>include_php</command> ou <command>insert</command>
|
||||
ayant un attribut <structfield>src</structfield>. Quoiqu'il en soit,
|
||||
elle doit <20>tre d<>finie pour les ressources templates.
|
||||
</para>
|
||||
<listitem><para>
|
||||
La quatri<72>me fonction est suppos<6F>e retourner &true;
|
||||
ou &false; selon si l'on peut faire confiance ou
|
||||
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
|
||||
<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 <20>tre d<>finie pour les ressources templates.
|
||||
</para></listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<para>
|
||||
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>
|
||||
<programlisting role="php">
|
||||
<example>
|
||||
<title>resource plugin</title>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
/*
|
||||
* Smarty plugin
|
||||
* -------------------------------------------------------------
|
||||
* Fichier : resource.db.php
|
||||
* Type : ressource
|
||||
* Nom : db
|
||||
* R<>le : R<>cup<75>re des templates depuis une base de donn<6E>es
|
||||
* -------------------------------------------------------------
|
||||
*/
|
||||
* Smarty plugin
|
||||
* -------------------------------------------------------------
|
||||
* Fichier : resource.db.php
|
||||
* Type : ressource
|
||||
* Nom : db
|
||||
* 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)
|
||||
{
|
||||
// fait des requ<71>tes BD pour r<>cup<75>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<71>tes BD pour r<>cup<75>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<71>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<71>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<69>e pour les templates
|
||||
// inutilis<69>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 @@ function smarty_resource_db_trusted($tpl_name, &$smarty)
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
||||
-->
|
@@ -1,6 +1,7 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: 1.2 Maintainer: yannick Status: ready -->
|
||||
<!-- EN-Revision: 1.3 Maintainer: yannick Status: ready -->
|
||||
|
||||
<sect1 id="plugins.writing">
|
||||
<title>Ecrire des plugins</title>
|
||||
<para>
|
||||
@@ -28,9 +29,20 @@ require_once $smarty->_get_plugin_filepath('function', 'html_options');
|
||||
</programlisting>
|
||||
<para>
|
||||
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>
|
||||
<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>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
@@ -50,4 +62,4 @@ End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
||||
-->
|
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: 1.8 Maintainer: yannick Status: ready -->
|
||||
<!-- 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<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
|
||||
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 @@ require_once(SMARTY_DIR . 'Smarty.class.php');
|
||||
</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<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
|
||||
constante lorsque vous incluez manuellement n'importe
|
||||
quel fichier core.*.
|
||||
@@ -65,7 +65,7 @@ require_once(SMARTY_CORE_DIR . 'core.get_microtime.php');
|
||||
|
||||
<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>
|
||||
|
Reference in New Issue
Block a user