mirror of
https://github.com/smarty-php/smarty.git
synced 2025-08-05 02:44:27 +02:00
fix accents broken by boots last year
This commit is contained in:
@@ -1,43 +1,43 @@
|
|||||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||||
<!-- $Revision$ -->
|
<!-- $Revision$ -->
|
||||||
<chapter id="advanced.features">
|
<chapter id="advanced.features">
|
||||||
<title>FonctionnalitTs avancTes</title>
|
<title>Fonctionnalit<EFBFBD>s avanc<EFBFBD>es</title>
|
||||||
<sect1 id="advanced.features.objects">
|
<sect1 id="advanced.features.objects">
|
||||||
<title>Objets</title>
|
<title>Objets</title>
|
||||||
<para>
|
<para>
|
||||||
Smarty donne l'accFs aux objets PHP a travers les templates. Il y
|
Smarty donne l'acc<EFBFBD>s aux objets PHP a travers les templates. Il y
|
||||||
a 2 moyens d'y avoir accFs. Le premier consiste a allouer les objets
|
a 2 moyens d'y avoir acc<EFBFBD>s. Le premier consiste a allouer les objets
|
||||||
au template puis de les utiliser avec une syntaxe similaire a celles
|
au template puis de les utiliser avec une syntaxe similaire a celles
|
||||||
des fonctions personnalisTes. Le deuxiFme moyen consiste a allouer
|
des fonctions personnalis<EFBFBD>es. Le deuxi<EFBFBD>me moyen consiste a allouer
|
||||||
des objets aux templates et de les utiliser comme n'importe quelle
|
des objets aux templates et de les utiliser comme n'importe quelle
|
||||||
variable. La premiFre mTthode a une syntaxe beaucoup plus sympathique.
|
variable. La premi<EFBFBD>re m<EFBFBD>thode a une syntaxe beaucoup plus sympathique.
|
||||||
Elle est aussi plus sTcurisTe, puisqu'un objet allouT ne peut avoir accFs
|
Elle est aussi plus s<EFBFBD>curis<EFBFBD>e, puisqu'un objet allou<EFBFBD> ne peut avoir acc<EFBFBD>s
|
||||||
qu'a certaines mTthodes et propriTtTs. NTanmoins, un objet allouT
|
qu'a certaines m<EFBFBD>thodes et propri<EFBFBD>t<EFBFBD>s. NTanmoins, un objet allou<EFBFBD>
|
||||||
ne peut pas avoir de lien sur lui-mOme ou Otre mis dans un tableau
|
ne peut pas avoir de lien sur lui-m<EFBFBD>me ou Otre mis dans un tableau
|
||||||
d'objet, etc. Vous devez choisir la mTthode qui correspond a vos
|
d'objet, etc. Vous devez choisir la m<EFBFBD>thode qui correspond a vos
|
||||||
besoins, mais tGchez d'utiliser la premiFre mTthode autant que possible
|
besoins, mais tGchez d'utiliser la premi<EFBFBD>re m<EFBFBD>thode autant que possible
|
||||||
afin de rTduire la syntaxe des templates au minimum.
|
afin de r<EFBFBD>duire la syntaxe des templates au minimum.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Si l'option de sTcuritT est activTe, aucune mTthode ou fonctions privTes
|
Si l'option de s<EFBFBD>curit<EFBFBD> est activ<EFBFBD>e, aucune m<EFBFBD>thode ou fonctions priv<EFBFBD>es
|
||||||
n'est accessible (commentant par "_"). S'il existe une mTthode et une
|
n'est accessible (commentant par "_"). S'il existe une m<EFBFBD>thode et une
|
||||||
propriTtT du mOme nom, c'est la mTthode qui sera utilisTe.
|
propri<EFBFBD>t<EFBFBD> du m<EFBFBD>me nom, c'est la m<EFBFBD>thode qui sera utilis<EFBFBD>e.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Vous pouvez restreindre l'accFs aux mTthodes et aux propriTtTs en
|
Vous pouvez restreindre l'acc<EFBFBD>s aux m<EFBFBD>thodes et aux propri<EFBFBD>t<EFBFBD>s en
|
||||||
les listant dans un tableau en tant que troisiFme paramFtre
|
les listant dans un tableau en tant que troisi<EFBFBD>me param<EFBFBD>tre
|
||||||
d'allocation.
|
d'allocation.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Par dTfaut, les paramFtres passTs aux objets depuis le templates le sont de la
|
Par d<EFBFBD>faut, les param<EFBFBD>tres pass<EFBFBD>s aux objets depuis le templates le sont de la
|
||||||
mOme faton que les fonctions utilisateurs les rTcupFrent.
|
m<EFBFBD>me faton que les fonctions utilisateurs les r<EFBFBD>cup<EFBFBD>rent.
|
||||||
Le premier paramFtre correspond a un tableau associatif, le second a l'objet
|
Le premier param<EFBFBD>tre correspond a un tableau associatif, le second a l'objet
|
||||||
Smarty. Si vous souhaitez que les paramFtres soient passTes un a un, comme
|
Smarty. Si vous souhaitez que les param<EFBFBD>tres soient pass<EFBFBD>es un a un, comme
|
||||||
dans un appel traditionnel, dTfinissez registration, quatriFme paramFtre optionnel,
|
dans un appel traditionnel, d<EFBFBD>finissez registration, quatri<EFBFBD>me param<EFBFBD>tre optionnel,
|
||||||
a false.
|
a false.
|
||||||
</para>
|
</para>
|
||||||
<example>
|
<example>
|
||||||
<title>utilisation d'un objet allouT ou assignT</title>
|
<title>utilisation d'un objet allou<EFBFBD> ou assign<EFBFBD></title>
|
||||||
<programlisting>
|
<programlisting>
|
||||||
<?php
|
<?php
|
||||||
// la classe
|
// la classe
|
||||||
@@ -51,12 +51,12 @@ class My_Object() {
|
|||||||
$myobj = new My_Object;
|
$myobj = new My_Object;
|
||||||
// enregistre l'objet
|
// enregistre l'objet
|
||||||
$smarty->register_object("foobar",$myobj);
|
$smarty->register_object("foobar",$myobj);
|
||||||
// on restreint l'accFs a certaines mTthodes et propriTtTs en les listant
|
// on restreint l'acc<EFBFBD>s a certaines m<EFBFBD>thodes et propri<EFBFBD>t<EFBFBD>s en les listant
|
||||||
$smarty->register_object("foobar",$myobj,array('meth1','meth2','prop1'));
|
$smarty->register_object("foobar",$myobj,array('meth1','meth2','prop1'));
|
||||||
// pour utiliser le format habituel de paramFtre objet, passez le boolTen = false
|
// pour utiliser le format habituel de param<EFBFBD>tre objet, passez le bool<EFBFBD>en = false
|
||||||
$smarty->register_object("foobar",$myobj,null,false);
|
$smarty->register_object("foobar",$myobj,null,false);
|
||||||
|
|
||||||
// on peut aussi assigner des objets. Assignez par rTfTrence quand c'est possible
|
// on peut aussi assigner des objets. Assignez par r<EFBFBD>f<EFBFBD>rence quand c'est possible
|
||||||
$smarty->assign_by_ref("myobj", $myobj);
|
$smarty->assign_by_ref("myobj", $myobj);
|
||||||
|
|
||||||
$smarty->display("index.tpl");
|
$smarty->display("index.tpl");
|
||||||
@@ -64,7 +64,7 @@ $smarty->display("index.tpl");
|
|||||||
|
|
||||||
TEMPLATE:
|
TEMPLATE:
|
||||||
|
|
||||||
{* accFs a notre objet enregistrT *}
|
{* acc<EFBFBD>s a notre objet enregistr<EFBFBD> *}
|
||||||
{foobar->meth1 p1="foo" p2=$bar}
|
{foobar->meth1 p1="foo" p2=$bar}
|
||||||
|
|
||||||
{* on peut aussi assigner la sortie *}
|
{* on peut aussi assigner la sortie *}
|
||||||
@@ -76,23 +76,23 @@ the output was {$output)
|
|||||||
</example>
|
</example>
|
||||||
</sect1>
|
</sect1>
|
||||||
<sect1 id="advanced.features.prefilters">
|
<sect1 id="advanced.features.prefilters">
|
||||||
<title>Filtres de prT-compilation</title>
|
<title>Filtres de pr<EFBFBD>-compilation</title>
|
||||||
<para>
|
<para>
|
||||||
Les filtres de prT-compilation sont des fonctions PHP que vos templates
|
Les filtres de pr<EFBFBD>-compilation sont des fonctions PHP que vos templates
|
||||||
exTcutent avant qu'ils ne soient compilTs. Cela peut Otre utile
|
ex<EFBFBD>cutent avant qu'ils ne soient compil<EFBFBD>s. Cela peut Otre utile
|
||||||
pour prT-traiter vos templates afin d'enlever les commentaires
|
pour pr<EFBFBD>-traiter vos templates afin d'enlever les commentaires
|
||||||
inutiles, garder un oeil sur ce que les gens mettent dans leurs templates, etc.
|
inutiles, garder un oeil sur ce que les gens mettent dans leurs templates, etc.
|
||||||
Les filtre de prT-compilations peuvent Otre soit
|
Les filtre de pr<EFBFBD>-compilations peuvent Otre soit
|
||||||
<link linkend="api.register.prefilter">dTclarTs</link> soit chargTs
|
<link linkend="api.register.prefilter">d<EFBFBD>clar<EFBFBD>s</link> soit charg<EFBFBD>s
|
||||||
a partir des rTpertoires de plugins en utilisant la fonction
|
a partir des r<EFBFBD>pertoires de plugins en utilisant la fonction
|
||||||
<link linkend="api.load.filter">load_filter()</link> ou en rTglant
|
<link linkend="api.load.filter">load_filter()</link> ou en r<EFBFBD>glant
|
||||||
la variable
|
la variable
|
||||||
<link linkend="variable.autoload.filters">$autoload_filters</link>.
|
<link linkend="variable.autoload.filters">$autoload_filters</link>.
|
||||||
Smarty passera a la fonction le code source en tant que premier argument,
|
Smarty passera a la fonction le code source en tant que premier argument,
|
||||||
et attendra en retour le code modifiT.
|
et attendra en retour le code modifi<EFBFBD>.
|
||||||
</para>
|
</para>
|
||||||
<example>
|
<example>
|
||||||
<title>Utilisation un filtre de prT-compilation de template</title>
|
<title>Utilisation un filtre de pr<EFBFBD>-compilation de template</title>
|
||||||
<programlisting>
|
<programlisting>
|
||||||
<?php
|
<?php
|
||||||
// mettre ceci dans votre application
|
// mettre ceci dans votre application
|
||||||
@@ -101,13 +101,13 @@ function remove_dw_comments($tpl_source, &$smarty)
|
|||||||
return preg_replace("/<!--#.*-->/U","",$tpl_source);
|
return preg_replace("/<!--#.*-->/U","",$tpl_source);
|
||||||
}
|
}
|
||||||
|
|
||||||
// enregistrer le filtre de prT-compilation
|
// enregistrer le filtre de pr<EFBFBD>-compilation
|
||||||
$smarty->register_prefilter("remove_dw_comments");
|
$smarty->register_prefilter("remove_dw_comments");
|
||||||
$smarty->display("index.tpl");
|
$smarty->display("index.tpl");
|
||||||
?>
|
?>
|
||||||
|
|
||||||
{* template Smarty index.tpl *}
|
{* template Smarty index.tpl *}
|
||||||
<!--# cette ligne va Otre supprimTe par le filtre de prT-compilation --></programlisting>
|
<!--# cette ligne va Otre supprim<EFBFBD>e par le filtre de pr<EFBFBD>-compilation --></programlisting>
|
||||||
</example>
|
</example>
|
||||||
</sect1>
|
</sect1>
|
||||||
|
|
||||||
@@ -115,13 +115,13 @@ $smarty->display("index.tpl");
|
|||||||
<title>Filtres de post-compilation</title>
|
<title>Filtres de post-compilation</title>
|
||||||
<para>
|
<para>
|
||||||
Les filtres de post-compilation sont des fonctions PHP que vos templates
|
Les filtres de post-compilation sont des fonctions PHP que vos templates
|
||||||
exTcutent aprFs avoir TtT compilTs. Les filtres de post-compilation peuvent
|
ex<EFBFBD>cutent apr<EFBFBD>s avoir Tt<EFBFBD> compil<EFBFBD>s. Les filtres de post-compilation peuvent
|
||||||
Otre soit <link linkend="api.register.postfilter">dTclarTs</link> soit chargTs
|
Otre soit <link linkend="api.register.postfilter">d<EFBFBD>clar<EFBFBD>s</link> soit charg<EFBFBD>s
|
||||||
depuis les rTpertoires des plugins en utilisant la fonction
|
depuis les r<EFBFBD>pertoires des plugins en utilisant la fonction
|
||||||
<link linkend="api.load.filter">load_filter()</link> ou en rTglant
|
<link linkend="api.load.filter">load_filter()</link> ou en r<EFBFBD>glant
|
||||||
la variable <link linkend="variable.autoload.filters">$autoload_filters</link>.
|
la variable <link linkend="variable.autoload.filters">$autoload_filters</link>.
|
||||||
Smarty passera le template compilT en tant que premier paramFtre et attendra
|
Smarty passera le template compil<EFBFBD> en tant que premier param<EFBFBD>tre et attendra
|
||||||
de la fonction qu'elle retourne le rTsultat de l'exTcution.
|
de la fonction qu'elle retourne le r<EFBFBD>sultat de l'ex<EFBFBD>cution.
|
||||||
</para>
|
</para>
|
||||||
<example>
|
<example>
|
||||||
<title>utilisation d'un filtre de post-compilation de templates</title>
|
<title>utilisation d'un filtre de post-compilation de templates</title>
|
||||||
@@ -138,7 +138,7 @@ $smarty->register_postfilter("add_header_comment");
|
|||||||
$smarty->display("index.tpl");
|
$smarty->display("index.tpl");
|
||||||
?>
|
?>
|
||||||
|
|
||||||
{* template Smarty compilT index.tpl *}
|
{* template Smarty compil<EFBFBD> index.tpl *}
|
||||||
<!-- Created by Smarty! -->
|
<!-- Created by Smarty! -->
|
||||||
{* reste du contenu du template... *}</programlisting>
|
{* reste du contenu du template... *}</programlisting>
|
||||||
</example>
|
</example>
|
||||||
@@ -147,21 +147,21 @@ $smarty->display("index.tpl");
|
|||||||
<sect1 id="advanced.features.outputfilters">
|
<sect1 id="advanced.features.outputfilters">
|
||||||
<title>Filtres de sortie</title>
|
<title>Filtres de sortie</title>
|
||||||
<para>
|
<para>
|
||||||
Quand le template est appelT via les fonctions display() ou fetch(),
|
Quand le template est appel<EFBFBD> via les fonctions display() ou fetch(),
|
||||||
sa sortie est envoyTe a travers un ou plusieurs filtres de sorties.
|
sa sortie est envoy<EFBFBD>e a travers un ou plusieurs filtres de sorties.
|
||||||
Ils diffFrent des filtres de post-compilation dans le sens ou ils agissent
|
Ils diff<EFBFBD>rent des filtres de post-compilation dans le sens ou ils agissent
|
||||||
sur la sortie des templates, une fois exTcutTs, et non sur les sources
|
sur la sortie des templates, une fois ex<EFBFBD>cut<EFBFBD>s, et non sur les sources
|
||||||
des templates.
|
des templates.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Les filtres de sortie peuvent Otre soit
|
Les filtres de sortie peuvent Otre soit
|
||||||
<link linkend="api.register.outputfilter">dTclarTs</link> soit
|
<link linkend="api.register.outputfilter">d<EFBFBD>clar<EFBFBD>s</link> soit
|
||||||
chargTs depuis les rTpertoires des plugins en utilisant la fonction
|
charg<EFBFBD>s depuis les r<EFBFBD>pertoires des plugins en utilisant la fonction
|
||||||
<link linkend="api.load.filter">load_filter()</link>
|
<link linkend="api.load.filter">load_filter()</link>
|
||||||
ou en rTglant la variable
|
ou en r<EFBFBD>glant la variable
|
||||||
<link linkend="variable.autoload.filters">$autoload_filters</link>.
|
<link linkend="variable.autoload.filters">$autoload_filters</link>.
|
||||||
Smarty passera la sortie du template en premier argument et attendra
|
Smarty passera la sortie du template en premier argument et attendra
|
||||||
de la fonction qu'elle retourne le rTsultat de l'exTcution.
|
de la fonction qu'elle retourne le r<EFBFBD>sultat de l'ex<EFBFBD>cution.
|
||||||
</para>
|
</para>
|
||||||
<example>
|
<example>
|
||||||
<title>utilisation d'un filtre de sortie</title>
|
<title>utilisation d'un filtre de sortie</title>
|
||||||
@@ -180,7 +180,7 @@ function protect_email($tpl_output, &$smarty)
|
|||||||
$smarty->register_outputfilter("protect_email");
|
$smarty->register_outputfilter("protect_email");
|
||||||
$smarty->display("index.tpl");
|
$smarty->display("index.tpl");
|
||||||
|
|
||||||
// dorTnavant toute occurence d'un adresse email dans le rTsultat du template
|
// dor<EFBFBD>navant toute occurence d'un adresse email dans le r<EFBFBD>sultat du template
|
||||||
// aura un protection simple contre les robots spammers
|
// aura un protection simple contre les robots spammers
|
||||||
?></programlisting>
|
?></programlisting>
|
||||||
</example>
|
</example>
|
||||||
@@ -189,25 +189,25 @@ $smarty->display("index.tpl");
|
|||||||
<sect1 id="section.template.cache.handler.func">
|
<sect1 id="section.template.cache.handler.func">
|
||||||
<title>Fonction de gestion du cache</title>
|
<title>Fonction de gestion du cache</title>
|
||||||
<para>
|
<para>
|
||||||
Une alternative au mTcanisme de cache par dTfaut (basT sur des fichiers
|
Une alternative au m<EFBFBD>canisme de cache par d<EFBFBD>faut (bas<EFBFBD> sur des fichiers
|
||||||
de cache) consiste a spTcifier une fonction de gestion de cache utilisateur
|
de cache) consiste a sp<EFBFBD>cifier une fonction de gestion de cache utilisateur
|
||||||
qui sera utilisTe pour lire, Tcrire et effacer les fichiers de cache.
|
qui sera utilis<EFBFBD>e pour lire, Tcrire et effacer les fichiers de cache.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Il suffit de crTer dans votre application une fonction que Smarty
|
Il suffit de cr<EFBFBD>er dans votre application une fonction que Smarty
|
||||||
utilisera pour la gestion du cache et d'assigner le nom de cette
|
utilisera pour la gestion du cache et d'assigner le nom de cette
|
||||||
fonction a la variable de classe
|
fonction a la variable de classe
|
||||||
<link linkend="variable.cache.handler.func">$cache_handler_func</link>.
|
<link linkend="variable.cache.handler.func">$cache_handler_func</link>.
|
||||||
Smarty utilisera alors cette fonction pour gTrer les donnTes du cache.
|
Smarty utilisera alors cette fonction pour g<EFBFBD>rer les donn<EFBFBD>es du cache.
|
||||||
Le premier argument est l'action, qui sera 'read', 'write' ou 'clear'.
|
Le premier argument est l'action, qui sera 'read', 'write' ou 'clear'.
|
||||||
Le second paramFtre est l'objet Smarty. Le troisiFme est le contenu
|
Le second param<EFBFBD>tre est l'objet Smarty. Le troisi<EFBFBD>me est le contenu
|
||||||
du cache. Pour Tcrire, Smarty passe le contenu du cache dans ces paramFtres.
|
du cache. Pour Tcrire, Smarty passe le contenu du cache dans ces param<EFBFBD>tres.
|
||||||
Pour lire, Smarty s'attend a ce que votre fonction accepte ce paramFtre
|
Pour lire, Smarty s'attend a ce que votre fonction accepte ce param<EFBFBD>tre
|
||||||
par rTfTrence et que vous le remplissiez avec les donnTes du cache. Pour effacer,
|
par r<EFBFBD>f<EFBFBD>rence et que vous le remplissiez avec les donn<EFBFBD>es du cache. Pour effacer,
|
||||||
il suffit de passer une variable fictive car cette derniFre n'est pas utilisTe.
|
il suffit de passer une variable fictive car cette derni<EFBFBD>re n'est pas utilis<EFBFBD>e.
|
||||||
Le quatriFme paramFtre est le nom du fichier de template (utile pour
|
Le quatri<EFBFBD>me param<EFBFBD>tre est le nom du fichier de template (utile pour
|
||||||
lire/Tcrire), le cinquiFme paramFtre est l'identifiant de cache (optionnel)
|
lire/Tcrire), le cinqui<EFBFBD>me param<EFBFBD>tre est l'identifiant de cache (optionnel)
|
||||||
et le sixiFme est l'identifiant de compilation.
|
et le sixi<EFBFBD>me est l'identifiant de compilation.
|
||||||
</para>
|
</para>
|
||||||
<example>
|
<example>
|
||||||
<title>exemple d'utilisation de MySQL pour la source du cache</title>
|
<title>exemple d'utilisation de MySQL pour la source du cache</title>
|
||||||
@@ -246,7 +246,7 @@ function mysql_cache_handler($action, &$smarty_obj, &$cache_content, $tp
|
|||||||
$db_name = 'SMARTY_CACHE';
|
$db_name = 'SMARTY_CACHE';
|
||||||
$use_gzip = false;
|
$use_gzip = false;
|
||||||
|
|
||||||
// crTe un identifiant de cache unique
|
// cr<EFBFBD>e un identifiant de cache unique
|
||||||
$CacheID = md5($tpl_file.$cache_id.$compile_id);
|
$CacheID = md5($tpl_file.$cache_id.$compile_id);
|
||||||
|
|
||||||
if(! $link = mysql_pconnect($db_host, $db_user, $db_pass)) {
|
if(! $link = mysql_pconnect($db_host, $db_user, $db_pass)) {
|
||||||
@@ -257,7 +257,7 @@ function mysql_cache_handler($action, &$smarty_obj, &$cache_content, $tp
|
|||||||
|
|
||||||
switch ($action) {
|
switch ($action) {
|
||||||
case 'read':
|
case 'read':
|
||||||
// rTcupFre le cache dans la base de donnTes
|
// r<EFBFBD>cup<EFBFBD>re le cache dans la base de donn<EFBFBD>es
|
||||||
$results = mysql_query("select CacheContents from CACHE_PAGES where CacheID='$CacheID'");
|
$results = mysql_query("select CacheContents from CACHE_PAGES where CacheID='$CacheID'");
|
||||||
if(!$results) {
|
if(!$results) {
|
||||||
$smarty_obj->_trigger_error_msg("cache_handler: query failed.");
|
$smarty_obj->_trigger_error_msg("cache_handler: query failed.");
|
||||||
@@ -272,7 +272,7 @@ function mysql_cache_handler($action, &$smarty_obj, &$cache_content, $tp
|
|||||||
$return = $results;
|
$return = $results;
|
||||||
break;
|
break;
|
||||||
case 'write':
|
case 'write':
|
||||||
// sauvegarde le cache dans la base de donnTes
|
// sauvegarde le cache dans la base de donn<EFBFBD>es
|
||||||
|
|
||||||
if($use_gzip && function_exists("gzcompress")) {
|
if($use_gzip && function_exists("gzcompress")) {
|
||||||
// compresse le contenu pour gagner de la place
|
// compresse le contenu pour gagner de la place
|
||||||
@@ -290,7 +290,7 @@ function mysql_cache_handler($action, &$smarty_obj, &$cache_content, $tp
|
|||||||
$return = $results;
|
$return = $results;
|
||||||
break;
|
break;
|
||||||
case 'clear':
|
case 'clear':
|
||||||
// efface les donnTes du cache
|
// efface les donn<EFBFBD>es du cache
|
||||||
if(empty($cache_id) && empty($compile_id) && empty($tpl_file)) {
|
if(empty($cache_id) && empty($compile_id) && empty($tpl_file)) {
|
||||||
// les efface toutes
|
// les efface toutes
|
||||||
$results = mysql_query("delete from CACHE_PAGES");
|
$results = mysql_query("delete from CACHE_PAGES");
|
||||||
@@ -320,19 +320,19 @@ function mysql_cache_handler($action, &$smarty_obj, &$cache_content, $tp
|
|||||||
<sect1 id="template.resources">
|
<sect1 id="template.resources">
|
||||||
<title>Ressources</title>
|
<title>Ressources</title>
|
||||||
<para>
|
<para>
|
||||||
Les templates peuvent provenir d'une grande variTtT de ressources. Quand vous
|
Les templates peuvent provenir d'une grande vari<EFBFBD>t<EFBFBD> de ressources. Quand vous
|
||||||
affichez ou rTcupTrez un template, ou quand vous incluez un template
|
affichez ou r<EFBFBD>cup<EFBFBD>rez un template, ou quand vous incluez un template
|
||||||
dans un autre template, vous fournissez un type de ressource, suivi
|
dans un autre template, vous fournissez un type de ressource, suivi
|
||||||
par le chemin appropriT et le nom du template.
|
par le chemin appropri<EFBFBD> et le nom du template.
|
||||||
</para>
|
</para>
|
||||||
<sect2 id="templates.from.template.dir">
|
<sect2 id="templates.from.template.dir">
|
||||||
<title>Templates depuis $template_dir</title>
|
<title>Templates depuis $template_dir</title>
|
||||||
<para>
|
<para>
|
||||||
Les templates du rTpertoire $template_dir n'ont pas
|
Les templates du r<EFBFBD>pertoire $template_dir n'ont pas
|
||||||
besoin d'une ressource template, bien que vous puissiez utiliser
|
besoin d'une ressource template, bien que vous puissiez utiliser
|
||||||
la ressource "file" pour Otre cohTrent. Vous n'avez qu'a fournir
|
la ressource "file" pour Otre coh<EFBFBD>rent. Vous n'avez qu'a fournir
|
||||||
le chemin vers le template que vous voulez utiliser, relatif
|
le chemin vers le template que vous voulez utiliser, relatif
|
||||||
au rTpertoire racine $template_dir.
|
au r<EFBFBD>pertoire racine $template_dir.
|
||||||
</para>
|
</para>
|
||||||
<example>
|
<example>
|
||||||
<title>Utilisation de templates depuis $template_dir</title>
|
<title>Utilisation de templates depuis $template_dir</title>
|
||||||
@@ -340,22 +340,22 @@ function mysql_cache_handler($action, &$smarty_obj, &$cache_content, $tp
|
|||||||
// le script PHP
|
// le script PHP
|
||||||
$smarty->display("index.tpl");
|
$smarty->display("index.tpl");
|
||||||
$smarty->display("admin/menu.tpl");
|
$smarty->display("admin/menu.tpl");
|
||||||
$smarty->display("file:admin/menu.tpl"); // le mOme que celui ci-dessus
|
$smarty->display("file:admin/menu.tpl"); // le m<EFBFBD>me que celui ci-dessus
|
||||||
|
|
||||||
{* le template Smarty *}
|
{* le template Smarty *}
|
||||||
{include file="index.tpl"}
|
{include file="index.tpl"}
|
||||||
{include file="file:index.tpl"} {* le mOme que celui ci-dessus *}</programlisting>
|
{include file="file:index.tpl"} {* le m<EFBFBD>me que celui ci-dessus *}</programlisting>
|
||||||
</example>
|
</example>
|
||||||
</sect2>
|
</sect2>
|
||||||
<sect2 id="templates.from.any.dir">
|
<sect2 id="templates.from.any.dir">
|
||||||
<title>Templates a partir de n'importe quel rTpertoire</title>
|
<title>Templates a partir de n'importe quel r<EFBFBD>pertoire</title>
|
||||||
<para>
|
<para>
|
||||||
Les templates en-dehors du rTpertoire $template_dir nTcessitent
|
Les templates en-dehors du r<EFBFBD>pertoire $template_dir n<EFBFBD>cessitent
|
||||||
le type de ressource template, suivi du chemin absolu et du nom du
|
le type de ressource template, suivi du chemin absolu et du nom du
|
||||||
template.
|
template.
|
||||||
</para>
|
</para>
|
||||||
<example>
|
<example>
|
||||||
<title>utilisation d'un template depuis n'importe quel rTpertoire</title>
|
<title>utilisation d'un template depuis n'importe quel r<EFBFBD>pertoire</title>
|
||||||
<programlisting>
|
<programlisting>
|
||||||
// le script PHP
|
// le script PHP
|
||||||
$smarty->display("file:/export/templates/index.tpl");
|
$smarty->display("file:/export/templates/index.tpl");
|
||||||
@@ -369,9 +369,9 @@ $smarty->display("file:/path/to/my/templates/menu.tpl");
|
|||||||
<title>Chemin de fichiers Windows</title>
|
<title>Chemin de fichiers Windows</title>
|
||||||
<para>
|
<para>
|
||||||
Si vous utilisez Windows, les chemins de fichiers sont la plupart
|
Si vous utilisez Windows, les chemins de fichiers sont la plupart
|
||||||
du temps sur un disque identifiT par une lettre (c:) au dTbut du chemin.
|
du temps sur un disque identifi<EFBFBD> par une lettre (c:) au d<EFBFBD>but du chemin.
|
||||||
Assurez-vous de bien mettre "file:" dans le chemin pour Tviter des
|
Assurez-vous de bien mettre "file:" dans le chemin pour Tviter des
|
||||||
conflits d'espace de nommage et obtenir les rTsultats escomptTs.
|
conflits d'espace de nommage et obtenir les r<EFBFBD>sultats escompt<EFBFBD>s.
|
||||||
</para>
|
</para>
|
||||||
<example>
|
<example>
|
||||||
<title>utilisation de templates avec des chemins de fichiers Windows</title>
|
<title>utilisation de templates avec des chemins de fichiers Windows</title>
|
||||||
@@ -389,20 +389,20 @@ $smarty->display("file:F:/path/to/my/templates/menu.tpl");
|
|||||||
<sect2 id="templates.from.elsewhere">
|
<sect2 id="templates.from.elsewhere">
|
||||||
<title>Templates depuis d'autres sources</title>
|
<title>Templates depuis d'autres sources</title>
|
||||||
<para>
|
<para>
|
||||||
Vous pouvez rTcupTrer les templates a partir n'importe quelle
|
Vous pouvez r<EFBFBD>cup<EFBFBD>rer les templates a partir n'importe quelle
|
||||||
source a laquelle vous avez accFs avec PHP : base de donnTes,
|
source a laquelle vous avez acc<EFBFBD>s avec PHP : base de donn<EFBFBD>es,
|
||||||
sockets, LDAP et ainsi de suite. Il suffit d'Tcrire les fonctions
|
sockets, LDAP et ainsi de suite. Il suffit d'Tcrire les fonctions
|
||||||
de ressource plugins et de les enregistrer auprFs de Smarty.
|
de ressource plugins et de les enregistrer aupr<EFBFBD>s de Smarty.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Reportez-vous a la section <link linkend="plugins.resources">ressource plugins</link>
|
Reportez-vous a la section <link linkend="plugins.resources">ressource plugins</link>
|
||||||
pour plus d'informations sur les fonctions que vous Otes censT fournir.
|
pour plus d'informations sur les fonctions que vous Otes cens<EFBFBD> fournir.
|
||||||
</para>
|
</para>
|
||||||
<note>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
Notez que vous ne pouvez pas Tcraser la ressource <literal>file</literal> native,
|
Notez que vous ne pouvez pas Tcraser la ressource <literal>file</literal> native,
|
||||||
toutefois, vous pouvez fournir une ressource qui rTcupFre un template depuis
|
toutefois, vous pouvez fournir une ressource qui r<EFBFBD>cup<EFBFBD>re un template depuis
|
||||||
le systFme de fichier par un autre moyen en l'enregistrant sous un autre
|
le syst<EFBFBD>me de fichier par un autre moyen en l'enregistrant sous un autre
|
||||||
nom de ressource.
|
nom de ressource.
|
||||||
</para>
|
</para>
|
||||||
</note>
|
</note>
|
||||||
@@ -414,7 +414,7 @@ $smarty->display("file:F:/path/to/my/templates/menu.tpl");
|
|||||||
// mettez ces fonctions quelque part dans votre application
|
// mettez ces fonctions quelque part dans votre application
|
||||||
function db_get_template ($tpl_name, &$tpl_source, &$smarty_obj)
|
function db_get_template ($tpl_name, &$tpl_source, &$smarty_obj)
|
||||||
{
|
{
|
||||||
// requOte BD pour rTcupTrer le template
|
// requ<EFBFBD>te BD pour r<EFBFBD>cup<EFBFBD>rer le template
|
||||||
// et remplir $tpl_source
|
// et remplir $tpl_source
|
||||||
$sql = new SQL;
|
$sql = new SQL;
|
||||||
$sql->query("select tpl_source
|
$sql->query("select tpl_source
|
||||||
@@ -430,7 +430,7 @@ function db_get_template ($tpl_name, &$tpl_source, &$smarty_obj)
|
|||||||
|
|
||||||
function db_get_timestamp($tpl_name, &$tpl_timestamp, &$smarty_obj)
|
function db_get_timestamp($tpl_name, &$tpl_timestamp, &$smarty_obj)
|
||||||
{
|
{
|
||||||
// requOte BD pour remplir $tpl_timestamp
|
// requ<EFBFBD>te BD pour remplir $tpl_timestamp
|
||||||
$sql = new SQL;
|
$sql = new SQL;
|
||||||
$sql->query("select tpl_timestamp
|
$sql->query("select tpl_timestamp
|
||||||
from my_table
|
from my_table
|
||||||
@@ -451,7 +451,7 @@ function db_get_secure($tpl_name, &$smarty_obj)
|
|||||||
|
|
||||||
function db_get_trusted($tpl_name, &$smarty_obj)
|
function db_get_trusted($tpl_name, &$smarty_obj)
|
||||||
{
|
{
|
||||||
// pas utilisTe pour les templates dans notre cas
|
// pas utilis<EFBFBD>e pour les templates dans notre cas
|
||||||
}
|
}
|
||||||
|
|
||||||
// enregistre le nom de ressource "db"
|
// enregistre le nom de ressource "db"
|
||||||
@@ -469,15 +469,15 @@ $smarty->display("db:index.tpl");
|
|||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
<sect2 id="default.template.handler.function">
|
<sect2 id="default.template.handler.function">
|
||||||
<title>Fonction de gestion de template par dTfaut</title>
|
<title>Fonction de gestion de template par d<EFBFBD>faut</title>
|
||||||
<para>
|
<para>
|
||||||
Vous pouvez spTcifier une fonction qui sera utilisTe pour
|
Vous pouvez sp<EFBFBD>cifier une fonction qui sera utilis<EFBFBD>e pour
|
||||||
rTcupTrer le contenu d'un template dans le cas o<> le template
|
r<EFBFBD>cup<EFBFBD>rer le contenu d'un template dans le cas o<> le template
|
||||||
ne peut pas Otre rTcupTrT depuis sa ressource. Une utilisation possible est
|
ne peut pas Otre r<EFBFBD>cup<EFBFBD>r<EFBFBD> depuis sa ressource. Une utilisation possible est
|
||||||
la crTation de templates a la volTe.
|
la cr<EFBFBD>ation de templates a la vol<EFBFBD>e.
|
||||||
</para>
|
</para>
|
||||||
<example>
|
<example>
|
||||||
<title>utilisation de la fonction de gestion de template par dTfaut</title>
|
<title>utilisation de la fonction de gestion de template par d<EFBFBD>faut</title>
|
||||||
<programlisting>
|
<programlisting>
|
||||||
<?php
|
<?php
|
||||||
// mettez cette fonction quelque part dans votre application
|
// mettez cette fonction quelque part dans votre application
|
||||||
@@ -486,7 +486,7 @@ function make_template ($resource_type, $resource_name, &$template_source, &
|
|||||||
{
|
{
|
||||||
if( $resource_type == 'file' ) {
|
if( $resource_type == 'file' ) {
|
||||||
if ( ! is_readable ( $resource_name )) {
|
if ( ! is_readable ( $resource_name )) {
|
||||||
// crTe le fichier de template et renvoie le contenu
|
// cr<EFBFBD>e le fichier de template et renvoie le contenu
|
||||||
$template_source = "This is a new template.";
|
$template_source = "This is a new template.";
|
||||||
$template_timestamp = time();
|
$template_timestamp = time();
|
||||||
$smarty_obj->_write_file($resource_name,$template_source);
|
$smarty_obj->_write_file($resource_name,$template_source);
|
||||||
@@ -498,7 +498,7 @@ function make_template ($resource_type, $resource_name, &$template_source, &
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// rTgle la fonction par dTfaut
|
// r<EFBFBD>gle la fonction par d<EFBFBD>faut
|
||||||
$smarty->default_template_handler_func = 'make_template';
|
$smarty->default_template_handler_func = 'make_template';
|
||||||
?></programlisting>
|
?></programlisting>
|
||||||
</example>
|
</example>
|
||||||
@@ -524,4 +524,4 @@ End:
|
|||||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||||
vim: et tw=78 syn=sgml
|
vim: et tw=78 syn=sgml
|
||||||
vi: ts=1 sw=1
|
vi: ts=1 sw=1
|
||||||
-->
|
-->
|
||||||
|
@@ -22,21 +22,21 @@
|
|||||||
</funcprototype>
|
</funcprototype>
|
||||||
</funcsynopsis>
|
</funcsynopsis>
|
||||||
<para>
|
<para>
|
||||||
UtilisTe pour ajouter un TlTment a un tableau assignT. Si vous utilisez
|
Utilis<EFBFBD>e pour ajouter un Tl<EFBFBD>ment a un tableau assign<EFBFBD>. Si vous utilisez
|
||||||
cette fonction avec une chaene de caractFre, elle est convertie en
|
cette fonction avec une chaene de caract<EFBFBD>re, elle est convertie en
|
||||||
tableau auquel on ajoute ensuite l'TlTment. Vous pouvez explicitement passer
|
tableau auquel on ajoute ensuite l'Tl<EFBFBD>ment. Vous pouvez explicitement passer
|
||||||
des paires nom/valeur. Si vous passez le troisiFme paramFtre
|
des paires nom/valeur. Si vous passez le troisi<EFBFBD>me param<EFBFBD>tre
|
||||||
(optionel) a vrai, la valeur sera fusionnTe avec le tableau plut(t que
|
(optionel) a vrai, la valeur sera fusionn<EFBFBD>e avec le tableau plut(t que
|
||||||
d'Otre ajoutTe.
|
d'Otre ajout<EFBFBD>e.
|
||||||
</para>
|
</para>
|
||||||
<note>
|
<note>
|
||||||
<title>Note technique</title>
|
<title>Note technique</title>
|
||||||
<para>
|
<para>
|
||||||
Le paramFtre de fusion respecte les clTs des tableaux, ainsi si vous
|
Le param<EFBFBD>tre de fusion respecte les cl<EFBFBD>s des tableaux, ainsi si vous
|
||||||
fusionnez deux tableaux indexTs numTriquement, ils pourront s'Tcraser
|
fusionnez deux tableaux index<EFBFBD>s num<EFBFBD>riquement, ils pourront s'Tcraser
|
||||||
l'un l'autre ou donner des clTs qui ne se suivent pas. Cela diffFre
|
l'un l'autre ou donner des cl<EFBFBD>s qui ne se suivent pas. Cela diff<EFBFBD>re
|
||||||
donc de la fonction PHP array_merge() qui supprime les clTs numTriques
|
donc de la fonction PHP array_merge() qui supprime les cl<EFBFBD>s num<EFBFBD>riques
|
||||||
et les renumTrote.
|
et les renum<EFBFBD>rote.
|
||||||
</para>
|
</para>
|
||||||
</note>
|
</note>
|
||||||
<example>
|
<example>
|
||||||
@@ -66,23 +66,23 @@ $smarty->append(array("city" => "Lincoln","state" => "Nebraska"));</programlisti
|
|||||||
</funcprototype>
|
</funcprototype>
|
||||||
</funcsynopsis>
|
</funcsynopsis>
|
||||||
<para>
|
<para>
|
||||||
UtilisTe pour ajouter des valeurs a un template par rTfTrence plut(t que
|
Utilis<EFBFBD>e pour ajouter des valeurs a un template par r<EFBFBD>f<EFBFBD>rence plut(t que
|
||||||
par copie. Si vous ajoutez une variable par rTfTrence puis changez sa
|
par copie. Si vous ajoutez une variable par r<EFBFBD>f<EFBFBD>rence puis changez sa
|
||||||
valeur, le changement est aussi rTpercutT sur la valeur assignTe.
|
valeur, le changement est aussi r<EFBFBD>percut<EFBFBD> sur la valeur assign<EFBFBD>e.
|
||||||
Pour les objets, append_by_ref ne fait pas de copie en mTmoire de l'objet
|
Pour les objets, append_by_ref ne fait pas de copie en m<EFBFBD>moire de l'objet
|
||||||
assignT. Voir la documentation PHP pour plus d'informations sur les
|
assign<EFBFBD>. Voir la documentation PHP pour plus d'informations sur les
|
||||||
rTfTrences de variable.
|
r<EFBFBD>f<EFBFBD>rences de variable.
|
||||||
Si vous passez le troisiFme paramFtre a vrai, la valeur sera fusionnTe
|
Si vous passez le troisi<EFBFBD>me param<EFBFBD>tre a vrai, la valeur sera fusionn<EFBFBD>e
|
||||||
avec le tableau courant plut(t que d'Otre ajoutTe.
|
avec le tableau courant plut(t que d'Otre ajout<EFBFBD>e.
|
||||||
</para>
|
</para>
|
||||||
<note>
|
<note>
|
||||||
<title>Note technique</title>
|
<title>Note technique</title>
|
||||||
<para>
|
<para>
|
||||||
Le paramFtre de fusion respecte les clTs des tableaux, ainsi si vous
|
Le param<EFBFBD>tre de fusion respecte les cl<EFBFBD>s des tableaux, ainsi si vous
|
||||||
fusionnez deux tableaux indexTs numTriquement, ils pourront s'Tcraser
|
fusionnez deux tableaux index<EFBFBD>s num<EFBFBD>riquement, ils pourront s'Tcraser
|
||||||
l'un l'autre ou donner des clTs qui ne se suivent pas. Cela diffFre
|
l'un l'autre ou donner des cl<EFBFBD>s qui ne se suivent pas. Cela diff<EFBFBD>re
|
||||||
donc de la fonction PHP array_merge() qui supprime les clTs numTriques
|
donc de la fonction PHP array_merge() qui supprime les cl<EFBFBD>s num<EFBFBD>riques
|
||||||
et les renumTrote.
|
et les renum<EFBFBD>rote.
|
||||||
</para>
|
</para>
|
||||||
</note>
|
</note>
|
||||||
<example>
|
<example>
|
||||||
@@ -107,7 +107,7 @@ $smarty->append_by_ref("Address",$address);</programlisting>
|
|||||||
</funcprototype>
|
</funcprototype>
|
||||||
</funcsynopsis>
|
</funcsynopsis>
|
||||||
<para>
|
<para>
|
||||||
UtilisTe pour assigner des valeurs aux templates. Vous pouvez
|
Utilis<EFBFBD>e pour assigner des valeurs aux templates. Vous pouvez
|
||||||
explicitement passer des paires nom/valeur, ou des tableaux
|
explicitement passer des paires nom/valeur, ou des tableaux
|
||||||
associatifs contenant des paires nom/valeur.
|
associatifs contenant des paires nom/valeur.
|
||||||
</para>
|
</para>
|
||||||
@@ -132,18 +132,18 @@ $smarty->assign(array("city" => "Lincoln","state" => "Nebraska"));</programlisti
|
|||||||
</funcprototype>
|
</funcprototype>
|
||||||
</funcsynopsis>
|
</funcsynopsis>
|
||||||
<para>
|
<para>
|
||||||
UtilisTe pour assigner des valeurs aux templates par rTfTrence plut(t
|
Utilis<EFBFBD>e pour assigner des valeurs aux templates par r<EFBFBD>f<EFBFBD>rence plut(t
|
||||||
que par copie. RTfTrez-vous au manuel PHP pour une explication plus prTcise
|
que par copie. RTf<EFBFBD>rez-vous au manuel PHP pour une explication plus pr<EFBFBD>cise
|
||||||
sur les rTfTrences des variables.
|
sur les r<EFBFBD>f<EFBFBD>rences des variables.
|
||||||
</para>
|
</para>
|
||||||
<note>
|
<note>
|
||||||
<title>Note technique</title>
|
<title>Note technique</title>
|
||||||
<para>
|
<para>
|
||||||
Si vous assignez une variable par rTfTrence puis changez sa
|
Si vous assignez une variable par r<EFBFBD>f<EFBFBD>rence puis changez sa
|
||||||
valeur, le changement est aussi rTpercutT sur la valeur assignTe.
|
valeur, le changement est aussi r<EFBFBD>percut<EFBFBD> sur la valeur assign<EFBFBD>e.
|
||||||
Pour les objets, assign_by_ref ne fait pas de copie en mTmoire de l'objet
|
Pour les objets, assign_by_ref ne fait pas de copie en m<EFBFBD>moire de l'objet
|
||||||
assignT. RTfTrez-vous au manuel PHP pour une explication plus prTcise sur
|
assign<EFBFBD>. RTf<EFBFBD>rez-vous au manuel PHP pour une explication plus pr<EFBFBD>cise sur
|
||||||
les rTfTrences de variable.
|
les r<EFBFBD>f<EFBFBD>rences de variable.
|
||||||
</para>
|
</para>
|
||||||
</note>
|
</note>
|
||||||
<example>
|
<example>
|
||||||
@@ -163,12 +163,12 @@ $smarty->assign_by_ref("Address",$address);</programlisting>
|
|||||||
</funcprototype>
|
</funcprototype>
|
||||||
</funcsynopsis>
|
</funcsynopsis>
|
||||||
<para>
|
<para>
|
||||||
UtilisTe pour effacer les valeurs de toutes les variables assignTes.
|
Utilis<EFBFBD>e pour effacer les valeurs de toutes les variables assign<EFBFBD>es.
|
||||||
</para>
|
</para>
|
||||||
<example>
|
<example>
|
||||||
<title>clear_all_assign</title>
|
<title>clear_all_assign</title>
|
||||||
<programlisting>
|
<programlisting>
|
||||||
// efface toutes les variables assignTes
|
// efface toutes les variables assign<EFBFBD>es
|
||||||
$smarty->clear_all_assign();</programlisting>
|
$smarty->clear_all_assign();</programlisting>
|
||||||
</example>
|
</example>
|
||||||
</sect1>
|
</sect1>
|
||||||
@@ -181,9 +181,9 @@ $smarty->clear_all_assign();</programlisting>
|
|||||||
</funcprototype>
|
</funcprototype>
|
||||||
</funcsynopsis>
|
</funcsynopsis>
|
||||||
<para>
|
<para>
|
||||||
UtilisTe pour effacer les fichiers de cache des templates. Vous pouvez passer un
|
Utilis<EFBFBD>e pour effacer les fichiers de cache des templates. Vous pouvez passer un
|
||||||
paramFtre optionnel afin d'indiquer l'Gge minimun que doivent avoir
|
param<EFBFBD>tre optionnel afin d'indiquer l'Gge minimun que doivent avoir
|
||||||
les fichiers de cache pour qu'ils soient effacTs.
|
les fichiers de cache pour qu'ils soient effac<EFBFBD>s.
|
||||||
</para>
|
</para>
|
||||||
<example>
|
<example>
|
||||||
<title>clear_all_cache</title>
|
<title>clear_all_cache</title>
|
||||||
@@ -201,7 +201,7 @@ $smarty->clear_all_cache();</programlisting>
|
|||||||
</funcprototype>
|
</funcprototype>
|
||||||
</funcsynopsis>
|
</funcsynopsis>
|
||||||
<para>
|
<para>
|
||||||
Efface la valeur d'une variable assignTe. Il peut s'agir
|
Efface la valeur d'une variable assign<EFBFBD>e. Il peut s'agir
|
||||||
d'une simple valeur ou d'un tableau de valeur.
|
d'une simple valeur ou d'un tableau de valeur.
|
||||||
</para>
|
</para>
|
||||||
<example>
|
<example>
|
||||||
@@ -224,17 +224,17 @@ $smarty->clear_assign(array("Name","Address","Zip"));</programlisting>
|
|||||||
<methodparam choice="opt"><type>string</type><parameter>expire time</parameter></methodparam>
|
<methodparam choice="opt"><type>string</type><parameter>expire time</parameter></methodparam>
|
||||||
</methodsynopsis>
|
</methodsynopsis>
|
||||||
<para>
|
<para>
|
||||||
UtilisTe pour nettoyer le(s) fichier(s) de cache d'un template en particulier.
|
Utilis<EFBFBD>e pour nettoyer le(s) fichier(s) de cache d'un template en particulier.
|
||||||
Si vous avez plusieurs fichiers de cache pour ce template vous
|
Si vous avez plusieurs fichiers de cache pour ce template vous
|
||||||
pouvez en spTcifier un en particulier en passant son identifiant
|
pouvez en sp<EFBFBD>cifier un en particulier en passant son identifiant
|
||||||
en deuxiFme paramFtre. Vous pouvez aussi passer un identifiant
|
en deuxi<EFBFBD>me param<EFBFBD>tre. Vous pouvez aussi passer un identifiant
|
||||||
de compilation en troisiFme paramFtre. Vous pouvez grouper des
|
de compilation en troisi<EFBFBD>me param<EFBFBD>tre. Vous pouvez grouper des
|
||||||
templates ensemble afin qu'ils puissent Otre supprimTs en groupe.
|
templates ensemble afin qu'ils puissent Otre supprim<EFBFBD>s en groupe.
|
||||||
RTfTrez-vous a la section sur le
|
RTf<EFBFBD>rez-vous a la section sur le
|
||||||
<link linkend="caching">cache</link>
|
<link linkend="caching">cache</link>
|
||||||
pour plus d'informations. Vous pouvez passer un quatriFme paramFtre
|
pour plus d'informations. Vous pouvez passer un quatri<EFBFBD>me param<EFBFBD>tre
|
||||||
pour indiquer un Gge minimum en secondes que le fichier en cache doit
|
pour indiquer un Gge minimum en secondes que le fichier en cache doit
|
||||||
avoir avant d'Otre effacT.
|
avoir avant d'Otre effac<EFBFBD>.
|
||||||
</para>
|
</para>
|
||||||
<example>
|
<example>
|
||||||
<title>clear_cache</title>
|
<title>clear_cache</title>
|
||||||
@@ -255,17 +255,17 @@ $smarty->clear_cache("index.tpl","CACHEID");</programlisting>
|
|||||||
</funcprototype>
|
</funcprototype>
|
||||||
</funcsynopsis>
|
</funcsynopsis>
|
||||||
<para>
|
<para>
|
||||||
UtilisTe pour effacer la version compilTe du template spTcifiT ou
|
Utilis<EFBFBD>e pour effacer la version compil<EFBFBD>e du template sp<EFBFBD>cifi<EFBFBD> ou
|
||||||
de tous les templates si aucun n'est spTcifiT. Cette fonction
|
de tous les templates si aucun n'est sp<EFBFBD>cifi<EFBFBD>. Cette fonction
|
||||||
est destinTe a un usage avancT et n'est pas habituellement utilisTe.
|
est destin<EFBFBD>e a un usage avanc<EFBFBD> et n'est pas habituellement utilis<EFBFBD>e.
|
||||||
</para>
|
</para>
|
||||||
<example>
|
<example>
|
||||||
<title>clear_compiled_tpl</title>
|
<title>clear_compiled_tpl</title>
|
||||||
<programlisting>
|
<programlisting>
|
||||||
// efface la version compilTe du template spTcifiT
|
// efface la version compil<EFBFBD>e du template sp<EFBFBD>cifi<EFBFBD>
|
||||||
$smarty->clear_compiled_tpl("index.tpl");
|
$smarty->clear_compiled_tpl("index.tpl");
|
||||||
|
|
||||||
// efface tout le contenu du rTpertoire des templates compilTs
|
// efface tout le contenu du r<EFBFBD>pertoire des templates compil<EFBFBD>s
|
||||||
$smarty->clear_compiled_tpl();</programlisting>
|
$smarty->clear_compiled_tpl();</programlisting>
|
||||||
</example>
|
</example>
|
||||||
</sect1>
|
</sect1>
|
||||||
@@ -276,14 +276,14 @@ $smarty->clear_compiled_tpl();</programlisting>
|
|||||||
<methodparam choice="opt"><type>string</type><parameter>var</parameter></methodparam>
|
<methodparam choice="opt"><type>string</type><parameter>var</parameter></methodparam>
|
||||||
</methodsynopsis>
|
</methodsynopsis>
|
||||||
<para>
|
<para>
|
||||||
UtilisTe pour effacer toutes les variables de configuration s'Ttant
|
Utilis<EFBFBD>e pour effacer toutes les variables de configuration s'Ttant
|
||||||
vues assigner une valeur. Si une variable est spTcifiTe, seule cette
|
vues assigner une valeur. Si une variable est sp<EFBFBD>cifi<EFBFBD>e, seule cette
|
||||||
variable est effacTe.
|
variable est effac<EFBFBD>e.
|
||||||
</para>
|
</para>
|
||||||
<example>
|
<example>
|
||||||
<title>clear_config</title>
|
<title>clear_config</title>
|
||||||
<programlisting>
|
<programlisting>
|
||||||
// efface toutes les variables de configuration assignTes
|
// efface toutes les variables de configuration assign<EFBFBD>es
|
||||||
$smarty->clear_config();
|
$smarty->clear_config();
|
||||||
|
|
||||||
// efface une seule variable
|
// efface une seule variable
|
||||||
@@ -298,7 +298,7 @@ $smarty->clear_config('foobar');</programlisting>
|
|||||||
<methodparam choice="opt"><type>string</type><parameter>section</parameter></methodparam>
|
<methodparam choice="opt"><type>string</type><parameter>section</parameter></methodparam>
|
||||||
</methodsynopsis>
|
</methodsynopsis>
|
||||||
<para>
|
<para>
|
||||||
UtilisTe pour charger des donnTes d'un fichier de config et les
|
Utilis<EFBFBD>e pour charger des donn<EFBFBD>es d'un fichier de config et les
|
||||||
assigner a un template. Cette fonction fonctionne exactement comme
|
assigner a un template. Cette fonction fonctionne exactement comme
|
||||||
la fonction de template <link
|
la fonction de template <link
|
||||||
linkend="language.function.config.load">config_load</link>.
|
linkend="language.function.config.load">config_load</link>.
|
||||||
@@ -306,11 +306,11 @@ $smarty->clear_config('foobar');</programlisting>
|
|||||||
<note>
|
<note>
|
||||||
<title>Note technique</title>
|
<title>Note technique</title>
|
||||||
<para>
|
<para>
|
||||||
Comme pour Smarty 2.4.0, les variables de templates assignTes
|
Comme pour Smarty 2.4.0, les variables de templates assign<EFBFBD>es
|
||||||
sont conservTes entre chaque appel a fetch et display.
|
sont conserv<EFBFBD>es entre chaque appel a fetch et display.
|
||||||
Les variables de configuration chargTes avec config_load sont
|
Les variables de configuration charg<EFBFBD>es avec config_load sont
|
||||||
globales. Les fichiers de config sont aussi compilTs pour une
|
globales. Les fichiers de config sont aussi compil<EFBFBD>s pour une
|
||||||
exTcution plus rapide et respecte les rTglages de <link
|
ex<EFBFBD>cution plus rapide et respecte les r<EFBFBD>glages de <link
|
||||||
linkend="variable.force.compile">force_compile</link> et de <link
|
linkend="variable.force.compile">force_compile</link> et de <link
|
||||||
linkend="variable.compile.check">compile_check</link>.
|
linkend="variable.compile.check">compile_check</link>.
|
||||||
</para>
|
</para>
|
||||||
@@ -334,21 +334,21 @@ $smarty->config_load('my.conf','foobar');</programlisting>
|
|||||||
<methodparam choice="opt"><type>string</type><parameter>compile_id</parameter></methodparam>
|
<methodparam choice="opt"><type>string</type><parameter>compile_id</parameter></methodparam>
|
||||||
</methodsynopsis>
|
</methodsynopsis>
|
||||||
<para>
|
<para>
|
||||||
UtilisTe pour afficher un template. Il faut fournir un type et un
|
Utilis<EFBFBD>e pour afficher un template. Il faut fournir un type et un
|
||||||
chemin de <link
|
chemin de <link
|
||||||
linkend="template.resources">ressource template</link>
|
linkend="template.resources">ressource template</link>
|
||||||
valides. Vous pouvez passer en second paramFtre un identifiant
|
valides. Vous pouvez passer en second param<EFBFBD>tre un identifiant
|
||||||
de fichier de cache. Reportez-vous a la section
|
de fichier de cache. Reportez-vous a la section
|
||||||
<link linkend="caching">cache</link> pour plus de renseignements.
|
<link linkend="caching">cache</link> pour plus de renseignements.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Le troisiFme paramFtre optionnel est un identifiant de compilation.
|
Le troisi<EFBFBD>me param<EFBFBD>tre optionnel est un identifiant de compilation.
|
||||||
Cela s'avFre utile quand vous voulez compiler diffTrentes versions
|
Cela s'av<EFBFBD>re utile quand vous voulez compiler diff<EFBFBD>rentes versions
|
||||||
d'un mOme template, pour par exemple avoir des templates
|
d'un m<EFBFBD>me template, pour par exemple avoir des templates
|
||||||
compilTs sTparTs pour diffTrents langages. Une autre utilitT de ce
|
compil<EFBFBD>s s<EFBFBD>par<EFBFBD>s pour diff<EFBFBD>rents langages. Une autre utilit<EFBFBD> de ce
|
||||||
paramFtre est le cas o<> vous utilisez plus d'un $template_dir mais un seul
|
param<EFBFBD>tre est le cas o<> vous utilisez plus d'un $template_dir mais un seul
|
||||||
$compile_dir, car certains templates avec le mOme nom s'Tcraseraient
|
$compile_dir, car certains templates avec le m<EFBFBD>me nom s'Tcraseraient
|
||||||
entre eux. Vous pouvez aussi rTgler la variable <link
|
entre eux. Vous pouvez aussi r<EFBFBD>gler la variable <link
|
||||||
linkend="variable.compile.id">$compile_id</link> une seule
|
linkend="variable.compile.id">$compile_id</link> une seule
|
||||||
fois au lieu de la passer a chaque appel.
|
fois au lieu de la passer a chaque appel.
|
||||||
</para>
|
</para>
|
||||||
@@ -359,12 +359,12 @@ include("Smarty.class.php");
|
|||||||
$smarty = new Smarty;
|
$smarty = new Smarty;
|
||||||
$smarty->caching = true;
|
$smarty->caching = true;
|
||||||
|
|
||||||
// ne fait un appel a la base de donnTes que si le fichier
|
// ne fait un appel a la base de donn<EFBFBD>es que si le fichier
|
||||||
// de cache n'existe pas
|
// de cache n'existe pas
|
||||||
if(!$smarty->is_cached("index.tpl"))
|
if(!$smarty->is_cached("index.tpl"))
|
||||||
{
|
{
|
||||||
|
|
||||||
// quelques donnTes
|
// quelques donn<EFBFBD>es
|
||||||
$address = "245 N 50th";
|
$address = "245 N 50th";
|
||||||
$db_data = array(
|
$db_data = array(
|
||||||
"City" => "Lincoln",
|
"City" => "Lincoln",
|
||||||
@@ -384,7 +384,7 @@ $smarty->display("index.tpl");</programlisting>
|
|||||||
<para>
|
<para>
|
||||||
Utilisez la syntaxe des <link
|
Utilisez la syntaxe des <link
|
||||||
linkend="template.resources">ressources templates</link>
|
linkend="template.resources">ressources templates</link>
|
||||||
pour afficher des fichiers en-dehors du rTpertoire
|
pour afficher des fichiers en-dehors du r<EFBFBD>pertoire
|
||||||
$template_dir
|
$template_dir
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@@ -397,7 +397,7 @@ $smarty->display("/usr/local/include/templates/header.tpl");
|
|||||||
// chemin absolu (pareil)
|
// chemin absolu (pareil)
|
||||||
$smarty->display("file:/usr/local/include/templates/header.tpl");
|
$smarty->display("file:/usr/local/include/templates/header.tpl");
|
||||||
|
|
||||||
// chemin absolu Windows (on DOIT utiliser le prTfixe "file:")
|
// chemin absolu Windows (on DOIT utiliser le pr<EFBFBD>fixe "file:")
|
||||||
$smarty->display("file:C:/www/pub/templates/header.tpl");
|
$smarty->display("file:C:/www/pub/templates/header.tpl");
|
||||||
|
|
||||||
// inclue a partir de la ressource template "db"
|
// inclue a partir de la ressource template "db"
|
||||||
@@ -414,21 +414,21 @@ $smarty->display("db:header.tpl");</programlisting>
|
|||||||
<methodparam choice="opt"><type>string</type><parameter>compile_id</parameter></methodparam>
|
<methodparam choice="opt"><type>string</type><parameter>compile_id</parameter></methodparam>
|
||||||
</methodsynopsis>
|
</methodsynopsis>
|
||||||
<para>
|
<para>
|
||||||
UtilisTe pour renvoyer le rTsultat du template plut(t que de l'afficher.
|
Utilis<EFBFBD>e pour renvoyer le r<EFBFBD>sultat du template plut(t que de l'afficher.
|
||||||
Il faut passer un type et un chemin de <link
|
Il faut passer un type et un chemin de <link
|
||||||
linkend="template.resources">ressource template</link>
|
linkend="template.resources">ressource template</link>
|
||||||
valides. Vous pouvez passer un identifiant de cache en deuxiFme
|
valides. Vous pouvez passer un identifiant de cache en deuxi<EFBFBD>me
|
||||||
paramFtre. Reportez-vous a la section <link linkend="caching">cache
|
param<EFBFBD>tre. Reportez-vous a la section <link linkend="caching">cache
|
||||||
</link> pour plus de renseignements.
|
</link> pour plus de renseignements.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Un troisiFme paramFtre optionnel est un identifiant de compilation.
|
Un troisi<EFBFBD>me param<EFBFBD>tre optionnel est un identifiant de compilation.
|
||||||
Cela s'avFre utile quand vous voulez compiler diffTrentes versions
|
Cela s'av<EFBFBD>re utile quand vous voulez compiler diff<EFBFBD>rentes versions
|
||||||
d'un mOme template, pour par exemple avoir des templates
|
d'un m<EFBFBD>me template, pour par exemple avoir des templates
|
||||||
compilTs sTparTs pour diffTrents langages. Une autre utilitT de ce
|
compil<EFBFBD>s s<EFBFBD>par<EFBFBD>s pour diff<EFBFBD>rents langages. Une autre utilit<EFBFBD> de ce
|
||||||
paramFtre est le cas o<> vous utilisez plus d'un $template_dir
|
param<EFBFBD>tre est le cas o<> vous utilisez plus d'un $template_dir
|
||||||
mais un seul $compile_dir, car certains templates avec le mOme nom
|
mais un seul $compile_dir, car certains templates avec le m<EFBFBD>me nom
|
||||||
s'Tcraseraient entre eux. Vous pouvez aussi rTgler la variable <link
|
s'Tcraseraient entre eux. Vous pouvez aussi r<EFBFBD>gler la variable <link
|
||||||
linkend="variable.compile.id">$compile_id</link> une seule
|
linkend="variable.compile.id">$compile_id</link> une seule
|
||||||
fois plut(t que de la passer a chaque appel.
|
fois plut(t que de la passer a chaque appel.
|
||||||
</para>
|
</para>
|
||||||
@@ -440,12 +440,12 @@ $smarty = new Smarty;
|
|||||||
|
|
||||||
$smarty->caching = true;
|
$smarty->caching = true;
|
||||||
|
|
||||||
// ne fait un appel a la base de donnTes que si le fichier
|
// ne fait un appel a la base de donn<EFBFBD>es que si le fichier
|
||||||
// de cache n'existe pas
|
// de cache n'existe pas
|
||||||
if(!$smarty->is_cached("index.tpl"))
|
if(!$smarty->is_cached("index.tpl"))
|
||||||
{
|
{
|
||||||
|
|
||||||
// quelques donnTes
|
// quelques donn<EFBFBD>es
|
||||||
$address = "245 N 50th";
|
$address = "245 N 50th";
|
||||||
$db_data = array(
|
$db_data = array(
|
||||||
"City" => "Lincoln",
|
"City" => "Lincoln",
|
||||||
@@ -459,7 +459,7 @@ if(!$smarty->is_cached("index.tpl"))
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// rTcupFre le rTsultat
|
// r<EFBFBD>cup<EFBFBD>re le r<EFBFBD>sultat
|
||||||
$output = $smarty->fetch("index.tpl");
|
$output = $smarty->fetch("index.tpl");
|
||||||
|
|
||||||
// fait quelque chose avec $output
|
// fait quelque chose avec $output
|
||||||
@@ -474,17 +474,17 @@ echo $output;</programlisting>
|
|||||||
<methodparam choice="opt"><type>string</type><parameter>varname</parameter></methodparam>
|
<methodparam choice="opt"><type>string</type><parameter>varname</parameter></methodparam>
|
||||||
</methodsynopsis>
|
</methodsynopsis>
|
||||||
<para>
|
<para>
|
||||||
Retourne la valeur de la variable de configuration passTe en paramFtre.
|
Retourne la valeur de la variable de configuration pass<EFBFBD>e en param<EFBFBD>tre.
|
||||||
Si aucun paramFtre n'est donnT, un tableau de toutes les variables de
|
Si aucun param<EFBFBD>tre n'est donn<EFBFBD>, un tableau de toutes les variables de
|
||||||
configuration chargTes est renvoyT.
|
configuration charg<EFBFBD>es est renvoy<EFBFBD>.
|
||||||
</para>
|
</para>
|
||||||
<example>
|
<example>
|
||||||
<title>get_config_vars</title>
|
<title>get_config_vars</title>
|
||||||
<programlisting>
|
<programlisting>
|
||||||
// rTcupFre la variable de configuration chargTe 'foo'
|
// r<EFBFBD>cup<EFBFBD>re la variable de configuration charg<EFBFBD>e 'foo'
|
||||||
$foo = $smarty->get_config_vars('foo');
|
$foo = $smarty->get_config_vars('foo');
|
||||||
|
|
||||||
// rTcupFre toutes les variables de configuration chargTes
|
// r<EFBFBD>cup<EFBFBD>re toutes les variables de configuration charg<EFBFBD>es
|
||||||
$config_vars = $smarty->get_config_vars();
|
$config_vars = $smarty->get_config_vars();
|
||||||
|
|
||||||
// les affiche a l'Tcran
|
// les affiche a l'Tcran
|
||||||
@@ -500,8 +500,8 @@ print_r($config_vars);</programlisting>
|
|||||||
</funcprototype>
|
</funcprototype>
|
||||||
</funcsynopsis>
|
</funcsynopsis>
|
||||||
<para>
|
<para>
|
||||||
Retourne la rTfTrence d'un objet enregistrT. Utile quand vous
|
Retourne la r<EFBFBD>f<EFBFBD>rence d'un objet enregistr<EFBFBD>. Utile quand vous
|
||||||
voulez accTder directement a un objet enregistrT avec une
|
voulez acc<EFBFBD>der directement a un objet enregistr<EFBFBD> avec une
|
||||||
fonction utilisateur.
|
fonction utilisateur.
|
||||||
</para>
|
</para>
|
||||||
<example>
|
<example>
|
||||||
@@ -509,9 +509,9 @@ print_r($config_vars);</programlisting>
|
|||||||
<programlisting>
|
<programlisting>
|
||||||
function smarty_block_foo($params, &$smarty) {
|
function smarty_block_foo($params, &$smarty) {
|
||||||
if (isset[$params['object']]) {
|
if (isset[$params['object']]) {
|
||||||
// rTcupFre la rTfTrence de l'objet enregistrT
|
// r<EFBFBD>cup<EFBFBD>re la r<EFBFBD>f<EFBFBD>rence de l'objet enregistr<EFBFBD>
|
||||||
$obj_ref =& $smarty->get_registered_object($params['object']);
|
$obj_ref =& $smarty->get_registered_object($params['object']);
|
||||||
// $obj_ref est maintenant une rTfTrence vers l'objet
|
// $obj_ref est maintenant une r<EFBFBD>f<EFBFBD>rence vers l'objet
|
||||||
}
|
}
|
||||||
}</programlisting>
|
}</programlisting>
|
||||||
</example>
|
</example>
|
||||||
@@ -523,18 +523,18 @@ function smarty_block_foo($params, &$smarty) {
|
|||||||
<methodparam choice="opt"><type>string</type><parameter>varname</parameter></methodparam>
|
<methodparam choice="opt"><type>string</type><parameter>varname</parameter></methodparam>
|
||||||
</methodsynopsis>
|
</methodsynopsis>
|
||||||
<para>
|
<para>
|
||||||
Retourne la valeur assignTe passTe en paramFtre. Si aucun paramFtre
|
Retourne la valeur assign<EFBFBD>e pass<EFBFBD>e en param<EFBFBD>tre. Si aucun param<EFBFBD>tre
|
||||||
n'est donnT, un tableau de toutes les variables assignTes est
|
n'est donn<EFBFBD>, un tableau de toutes les variables assign<EFBFBD>es est
|
||||||
renvoyT.
|
renvoy<EFBFBD>.
|
||||||
</para>
|
</para>
|
||||||
<example>
|
<example>
|
||||||
<title>get_template_vars</title>
|
<title>get_template_vars</title>
|
||||||
<programlisting>
|
<programlisting>
|
||||||
// rTcupFre la variable 'foo' assignTe au template
|
// r<EFBFBD>cup<EFBFBD>re la variable 'foo' assign<EFBFBD>e au template
|
||||||
// get assigned template var 'foo'
|
// get assigned template var 'foo'
|
||||||
$foo = $smarty->get_template_vars('foo');
|
$foo = $smarty->get_template_vars('foo');
|
||||||
|
|
||||||
// rTcupFre toutes les variables assignTes a ce template
|
// r<EFBFBD>cup<EFBFBD>re toutes les variables assign<EFBFBD>es a ce template
|
||||||
$tpl_vars = $smarty->get_template_vars();
|
$tpl_vars = $smarty->get_template_vars();
|
||||||
|
|
||||||
// les affiche a l'Tcran
|
// les affiche a l'Tcran
|
||||||
@@ -561,14 +561,14 @@ print_r($tpl_vars);</programlisting>
|
|||||||
$smarty->caching = true;
|
$smarty->caching = true;
|
||||||
|
|
||||||
if(!$smarty->is_cached("index.tpl")) {
|
if(!$smarty->is_cached("index.tpl")) {
|
||||||
// faire des requOtes base de donnTes et assigner
|
// faire des requ<EFBFBD>tes base de donn<EFBFBD>es et assigner
|
||||||
// des variables ici.
|
// des variables ici.
|
||||||
}
|
}
|
||||||
|
|
||||||
$smarty->display("index.tpl");</programlisting>
|
$smarty->display("index.tpl");</programlisting>
|
||||||
</example>
|
</example>
|
||||||
<para>
|
<para>
|
||||||
Vous pouvez aussi passer en second paramFtre un identifiant
|
Vous pouvez aussi passer en second param<EFBFBD>tre un identifiant
|
||||||
de cache au cas o<> vous voudriez plusieurs fichiers de cache
|
de cache au cas o<> vous voudriez plusieurs fichiers de cache
|
||||||
pour ce template.
|
pour ce template.
|
||||||
</para>
|
</para>
|
||||||
@@ -578,7 +578,7 @@ $smarty->display("index.tpl");</programlisting>
|
|||||||
$smarty->caching = true;
|
$smarty->caching = true;
|
||||||
|
|
||||||
if(!$smarty->is_cached("index.tpl","FrontPage")) {
|
if(!$smarty->is_cached("index.tpl","FrontPage")) {
|
||||||
// faire des requOtes base de donnTes et assigner
|
// faire des requ<EFBFBD>tes base de donn<EFBFBD>es et assigner
|
||||||
// des variables ici.
|
// des variables ici.
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -595,17 +595,17 @@ $smarty->display("index.tpl","FrontPage");</programlisting>
|
|||||||
</funcprototype>
|
</funcprototype>
|
||||||
</funcsynopsis>
|
</funcsynopsis>
|
||||||
<para>
|
<para>
|
||||||
Cette fonction peut Otre utilisTe pour charger un plugin
|
Cette fonction peut Otre utilis<EFBFBD>e pour charger un plugin
|
||||||
de filtrage. Le premier argument spTcifie le type du filtre
|
de filtrage. Le premier argument sp<EFBFBD>cifie le type du filtre
|
||||||
et peut prendre l'une des valeurs suivantes : 'pre', 'post'
|
et peut prendre l'une des valeurs suivantes : 'pre', 'post'
|
||||||
ou 'output'. Le second argument spTcifie le nom du plugin
|
ou 'output'. Le second argument sp<EFBFBD>cifie le nom du plugin
|
||||||
de filtrage, par exemple 'trim'.
|
de filtrage, par exemple 'trim'.
|
||||||
</para>
|
</para>
|
||||||
<example>
|
<example>
|
||||||
<title>Chargement de plugins de filtrage</title>
|
<title>Chargement de plugins de filtrage</title>
|
||||||
<programlisting>
|
<programlisting>
|
||||||
$smarty->load_filter('pre', 'trim'); // charge le filtre 'trim' de type 'pre'
|
$smarty->load_filter('pre', 'trim'); // charge le filtre 'trim' de type 'pre'
|
||||||
$smarty->load_filter('pre', 'datefooter'); // charge un autre filtre de type 'pre' appelT 'datefooter'
|
$smarty->load_filter('pre', 'datefooter'); // charge un autre filtre de type 'pre' appel<EFBFBD> 'datefooter'
|
||||||
$smarty->load_filter('output', 'compress'); // charge le filtre 'compress' de type 'output'</programlisting>
|
$smarty->load_filter('output', 'compress'); // charge le filtre 'compress' de type 'output'</programlisting>
|
||||||
</example>
|
</example>
|
||||||
</sect1>
|
</sect1>
|
||||||
@@ -619,9 +619,9 @@ $smarty->load_filter('output', 'compress'); // charge le filtre 'compress' de ty
|
|||||||
</funcprototype>
|
</funcprototype>
|
||||||
</funcsynopsis>
|
</funcsynopsis>
|
||||||
<para>
|
<para>
|
||||||
UtilisTe pour dTclarrer dynamiquement des plugins de fonction
|
Utilis<EFBFBD>e pour d<EFBFBD>clarrer dynamiquement des plugins de fonction
|
||||||
de blocs. Il faut passer en paramFtre le nom de la fonction
|
de blocs. Il faut passer en param<EFBFBD>tre le nom de la fonction
|
||||||
de blocs, suivi du nom de la fonction PHP qui l'implTmente.
|
de blocs, suivi du nom de la fonction PHP qui l'impl<EFBFBD>mente.
|
||||||
</para>
|
</para>
|
||||||
<example>
|
<example>
|
||||||
<title>register_block</title>
|
<title>register_block</title>
|
||||||
@@ -653,10 +653,10 @@ function do_translation ($params, $content, &$smarty) {
|
|||||||
</funcprototype>
|
</funcprototype>
|
||||||
</funcsynopsis>
|
</funcsynopsis>
|
||||||
<para>
|
<para>
|
||||||
UtilisTe pour dTclarer dynamiquement un plugin de fonction
|
Utilis<EFBFBD>e pour d<EFBFBD>clarer dynamiquement un plugin de fonction
|
||||||
de compilation. Il faut passer en paramFtres le nom de la fonction
|
de compilation. Il faut passer en param<EFBFBD>tres le nom de la fonction
|
||||||
de compilation, suivi par la fonction PHP qui
|
de compilation, suivi par la fonction PHP qui
|
||||||
l'implTmente.
|
l'impl<EFBFBD>mente.
|
||||||
</para>
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
<sect1 id="api.register.function">
|
<sect1 id="api.register.function">
|
||||||
@@ -669,9 +669,9 @@ function do_translation ($params, $content, &$smarty) {
|
|||||||
</funcprototype>
|
</funcprototype>
|
||||||
</funcsynopsis>
|
</funcsynopsis>
|
||||||
<para>
|
<para>
|
||||||
UtilisTe pour dTclarer dynamiquement des plugins de fonction
|
Utilis<EFBFBD>e pour d<EFBFBD>clarer dynamiquement des plugins de fonction
|
||||||
de templates. Il faut passer en paramFtres le nom de la fonction
|
de templates. Il faut passer en param<EFBFBD>tres le nom de la fonction
|
||||||
de templates, suivi par le nom de la fonction PHP qui l'implTmente.
|
de templates, suivi par le nom de la fonction PHP qui l'impl<EFBFBD>mente.
|
||||||
</para>
|
</para>
|
||||||
<example>
|
<example>
|
||||||
<title>register_function</title>
|
<title>register_function</title>
|
||||||
@@ -700,9 +700,9 @@ function print_current_date ($params) {
|
|||||||
</funcprototype>
|
</funcprototype>
|
||||||
</funcsynopsis>
|
</funcsynopsis>
|
||||||
<para>
|
<para>
|
||||||
UtilisTe pour dTclarer dynamiquement un plugin de modificateur.
|
Utilis<EFBFBD>e pour d<EFBFBD>clarer dynamiquement un plugin de modificateur.
|
||||||
Il faut passer en paramFtre le nom du modificateur de variables,
|
Il faut passer en param<EFBFBD>tre le nom du modificateur de variables,
|
||||||
suivi de la fonction PHP qui l'implTmente.
|
suivi de la fonction PHP qui l'impl<EFBFBD>mente.
|
||||||
</para>
|
</para>
|
||||||
<example>
|
<example>
|
||||||
<title>register_modifier</title>
|
<title>register_modifier</title>
|
||||||
@@ -726,7 +726,7 @@ $smarty->register_modifier("sslash","stripslashes");
|
|||||||
</funcprototype>
|
</funcprototype>
|
||||||
</funcsynopsis>
|
</funcsynopsis>
|
||||||
<para>
|
<para>
|
||||||
UtilisTe pour enregistrer un objet a utiliser dans un template.
|
Utilis<EFBFBD>e pour enregistrer un objet a utiliser dans un template.
|
||||||
Reportez-vous a la section
|
Reportez-vous a la section
|
||||||
<link linkend="advanced.features.objects">objet</link> de
|
<link linkend="advanced.features.objects">objet</link> de
|
||||||
ce manuel pour des exemples.
|
ce manuel pour des exemples.
|
||||||
@@ -741,8 +741,8 @@ $smarty->register_modifier("sslash","stripslashes");
|
|||||||
</funcprototype>
|
</funcprototype>
|
||||||
</funcsynopsis>
|
</funcsynopsis>
|
||||||
<para>
|
<para>
|
||||||
UtilisTe pour dTclarer dynamiquement des filtres de sortie, pour
|
Utilis<EFBFBD>e pour d<EFBFBD>clarer dynamiquement des filtres de sortie, pour
|
||||||
agir sur la sortie d'un template avant qu'elle ne soit affichTe.
|
agir sur la sortie d'un template avant qu'elle ne soit affich<EFBFBD>e.
|
||||||
Reportez-vous a la section <link linkend="advanced.features.outputfilters">
|
Reportez-vous a la section <link linkend="advanced.features.outputfilters">
|
||||||
filtres de sortie</link> pour plus d'information sur le sujet.
|
filtres de sortie</link> pour plus d'information sur le sujet.
|
||||||
</para>
|
</para>
|
||||||
@@ -756,11 +756,11 @@ $smarty->register_modifier("sslash","stripslashes");
|
|||||||
</funcprototype>
|
</funcprototype>
|
||||||
</funcsynopsis>
|
</funcsynopsis>
|
||||||
<para>
|
<para>
|
||||||
UtilisTe pour dTclarer dynamiquement des filtres de post-compilation pour y faire
|
Utilis<EFBFBD>e pour d<EFBFBD>clarer dynamiquement des filtres de post-compilation pour y faire
|
||||||
passer des templates une fois qu'ils ont TtT compilTs. Reportez-vous
|
passer des templates une fois qu'ils ont Tt<EFBFBD> compil<EFBFBD>s. Reportez-vous
|
||||||
a la section
|
a la section
|
||||||
<link linkend="advanced.features.postfilters">filtres de post-compilation de templates</link>
|
<link linkend="advanced.features.postfilters">filtres de post-compilation de templates</link>
|
||||||
pour avoir plus de renseignements sur la faton de paramTtrer les fonctions
|
pour avoir plus de renseignements sur la faton de param<EFBFBD>trer les fonctions
|
||||||
de post-compilation.
|
de post-compilation.
|
||||||
</para>
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
@@ -773,12 +773,12 @@ $smarty->register_modifier("sslash","stripslashes");
|
|||||||
</funcprototype>
|
</funcprototype>
|
||||||
</funcsynopsis>
|
</funcsynopsis>
|
||||||
<para>
|
<para>
|
||||||
UtilisTe pour dTclarer dynamiquement des filtres de prT-compilation pour y faire
|
Utilis<EFBFBD>e pour d<EFBFBD>clarer dynamiquement des filtres de pr<EFBFBD>-compilation pour y faire
|
||||||
passer des templates avant qu'ils ne soient compilTs. Reportez-vous
|
passer des templates avant qu'ils ne soient compil<EFBFBD>s. Reportez-vous
|
||||||
a la section
|
a la section
|
||||||
<link linkend="advanced.features.postfilters">filtres de prT-compilation de templates</link>
|
<link linkend="advanced.features.postfilters">filtres de pr<EFBFBD>-compilation de templates</link>
|
||||||
pour avoir plus de renseignements sur la faton de paramTtrer les fonctions
|
pour avoir plus de renseignements sur la faton de param<EFBFBD>trer les fonctions
|
||||||
de prT-compilation.
|
de pr<EFBFBD>-compilation.
|
||||||
</para>
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
<sect1 id="api.register.resource">
|
<sect1 id="api.register.resource">
|
||||||
@@ -791,12 +791,12 @@ $smarty->register_modifier("sslash","stripslashes");
|
|||||||
</funcprototype>
|
</funcprototype>
|
||||||
</funcsynopsis>
|
</funcsynopsis>
|
||||||
<para>
|
<para>
|
||||||
UtilisTe pour dTclarer dynamiquement une ressource plugin
|
Utilis<EFBFBD>e pour d<EFBFBD>clarer dynamiquement une ressource plugin
|
||||||
dans Smarty. Il faut passer en paramFtre le nom de la ressource
|
dans Smarty. Il faut passer en param<EFBFBD>tre le nom de la ressource
|
||||||
et le tableau des fonctions PHP qui l'implTmentent. Reportez-vous
|
et le tableau des fonctions PHP qui l'impl<EFBFBD>mentent. Reportez-vous
|
||||||
a la section <link linkend="template.resources">ressources templates</link>
|
a la section <link linkend="template.resources">ressources templates</link>
|
||||||
pour avoir plus d'informations sur la faton de paramTtrer une fonction
|
pour avoir plus d'informations sur la faton de param<EFBFBD>trer une fonction
|
||||||
rTcupTrant des templates.
|
r<EFBFBD>cup<EFBFBD>rant des templates.
|
||||||
</para>
|
</para>
|
||||||
<example>
|
<example>
|
||||||
<title>register_resource</title>
|
<title>register_resource</title>
|
||||||
@@ -817,10 +817,10 @@ $smarty->register_resource("db", array("db_get_template",
|
|||||||
</funcprototype>
|
</funcprototype>
|
||||||
</funcsynopsis>
|
</funcsynopsis>
|
||||||
<para>
|
<para>
|
||||||
Cette fonction peut-Otre utilisTe pour afficher un message d'erreur
|
Cette fonction peut-Otre utilis<EFBFBD>e pour afficher un message d'erreur
|
||||||
en utilisant Smarty. Le paramFtre <parameter>level</parameter>
|
en utilisant Smarty. Le param<EFBFBD>tre <parameter>level</parameter>
|
||||||
peut prendre l'une des valeures utilisTes par la fonction PHP
|
peut prendre l'une des valeures utilis<EFBFBD>es par la fonction PHP
|
||||||
trigger_error, i.e. E_USER_NOTICE, E_USER_WARNING, etc. Par dTfaut
|
trigger_error, i.e. E_USER_NOTICE, E_USER_WARNING, etc. Par d<EFBFBD>faut
|
||||||
il s'agit de E_USER_WARNING.
|
il s'agit de E_USER_WARNING.
|
||||||
</para>
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
@@ -834,9 +834,9 @@ $smarty->register_resource("db", array("db_get_template",
|
|||||||
</funcprototype>
|
</funcprototype>
|
||||||
</funcsynopsis>
|
</funcsynopsis>
|
||||||
<para>
|
<para>
|
||||||
Cette fonction vTrifie si le template spTcifiT existe. Elle accepte
|
Cette fonction v<EFBFBD>rifie si le template sp<EFBFBD>cifi<EFBFBD> existe. Elle accepte
|
||||||
soit un chemin vers le template, soit une ressource de type
|
soit un chemin vers le template, soit une ressource de type
|
||||||
chaene de caractFres prTcisant le nom du template.
|
chaene de caract<EFBFBD>res pr<EFBFBD>cisant le nom du template.
|
||||||
</para>
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
<sect1 id="api.unregister.block">
|
<sect1 id="api.unregister.block">
|
||||||
@@ -848,8 +848,8 @@ $smarty->register_resource("db", array("db_get_template",
|
|||||||
</funcprototype>
|
</funcprototype>
|
||||||
</funcsynopsis>
|
</funcsynopsis>
|
||||||
<para>
|
<para>
|
||||||
UtilisTe pour dTsallouer dynamiquement un plugin de fonction
|
Utilis<EFBFBD>e pour d<EFBFBD>sallouer dynamiquement un plugin de fonction
|
||||||
de blocs. Passez en paramFtre le nom du bloc.
|
de blocs. Passez en param<EFBFBD>tre le nom du bloc.
|
||||||
</para>
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
<sect1 id="api.unregister.compiler.function">
|
<sect1 id="api.unregister.compiler.function">
|
||||||
@@ -861,8 +861,8 @@ $smarty->register_resource("db", array("db_get_template",
|
|||||||
</funcprototype>
|
</funcprototype>
|
||||||
</funcsynopsis>
|
</funcsynopsis>
|
||||||
<para>
|
<para>
|
||||||
UtilisTe pour dTsallouer dynamiquement un fonction de compilation.
|
Utilis<EFBFBD>e pour d<EFBFBD>sallouer dynamiquement un fonction de compilation.
|
||||||
Passez en paramFtre le nom de la fonction de compilation.
|
Passez en param<EFBFBD>tre le nom de la fonction de compilation.
|
||||||
</para>
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
<sect1 id="api.unregister.function">
|
<sect1 id="api.unregister.function">
|
||||||
@@ -874,14 +874,14 @@ $smarty->register_resource("db", array("db_get_template",
|
|||||||
</funcprototype>
|
</funcprototype>
|
||||||
</funcsynopsis>
|
</funcsynopsis>
|
||||||
<para>
|
<para>
|
||||||
UtilisTe pour dTsallouer dynamiquement un plugin de fonction
|
Utilis<EFBFBD>e pour d<EFBFBD>sallouer dynamiquement un plugin de fonction
|
||||||
de templates. Passez en paramFtres le nom de la fonction de templates.
|
de templates. Passez en param<EFBFBD>tres le nom de la fonction de templates.
|
||||||
</para>
|
</para>
|
||||||
<example>
|
<example>
|
||||||
<title>unregister_function</title>
|
<title>unregister_function</title>
|
||||||
<programlisting>
|
<programlisting>
|
||||||
// nous ne voulons pas que les designers de templates aient accFs
|
// nous ne voulons pas que les designers de templates aient acc<EFBFBD>s
|
||||||
// au systFme de fichiers.
|
// au syst<EFBFBD>me de fichiers.
|
||||||
|
|
||||||
$smarty->unregister_function("fetch");</programlisting>
|
$smarty->unregister_function("fetch");</programlisting>
|
||||||
</example>
|
</example>
|
||||||
@@ -895,8 +895,8 @@ $smarty->unregister_function("fetch");</programlisting>
|
|||||||
</funcprototype>
|
</funcprototype>
|
||||||
</funcsynopsis>
|
</funcsynopsis>
|
||||||
<para>
|
<para>
|
||||||
UtilisTe pour dTsallouer dynamiquement un plugin modificateur de variable.
|
Utilis<EFBFBD>e pour d<EFBFBD>sallouer dynamiquement un plugin modificateur de variable.
|
||||||
Passez en paramFtre le nom du modificateur de templates.
|
Passez en param<EFBFBD>tre le nom du modificateur de templates.
|
||||||
</para>
|
</para>
|
||||||
<example>
|
<example>
|
||||||
<title>unregister_modifier</title>
|
<title>unregister_modifier</title>
|
||||||
@@ -916,7 +916,7 @@ $smarty->unregister_modifier("strip_tags");</programlisting>
|
|||||||
</funcprototype>
|
</funcprototype>
|
||||||
</funcsynopsis>
|
</funcsynopsis>
|
||||||
<para>
|
<para>
|
||||||
UtilisTe pour dTsallouer un objet.
|
Utilis<EFBFBD>e pour d<EFBFBD>sallouer un objet.
|
||||||
</para>
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
<sect1 id="api.unregister.outputfilter">
|
<sect1 id="api.unregister.outputfilter">
|
||||||
@@ -928,7 +928,7 @@ $smarty->unregister_modifier("strip_tags");</programlisting>
|
|||||||
</funcprototype>
|
</funcprototype>
|
||||||
</funcsynopsis>
|
</funcsynopsis>
|
||||||
<para>
|
<para>
|
||||||
UtilisTe pour dTsallouer dynamiquement un filtre de sortie.
|
Utilis<EFBFBD>e pour d<EFBFBD>sallouer dynamiquement un filtre de sortie.
|
||||||
</para>
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
<sect1 id="api.unregister.postfilter">
|
<sect1 id="api.unregister.postfilter">
|
||||||
@@ -940,7 +940,7 @@ $smarty->unregister_modifier("strip_tags");</programlisting>
|
|||||||
</funcprototype>
|
</funcprototype>
|
||||||
</funcsynopsis>
|
</funcsynopsis>
|
||||||
<para>
|
<para>
|
||||||
UtilisTe pour dTsallouer dynamiquement un filtre de post-compilation.
|
Utilis<EFBFBD>e pour d<EFBFBD>sallouer dynamiquement un filtre de post-compilation.
|
||||||
</para>
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
<sect1 id="api.unregister.prefilter">
|
<sect1 id="api.unregister.prefilter">
|
||||||
@@ -952,7 +952,7 @@ $smarty->unregister_modifier("strip_tags");</programlisting>
|
|||||||
</funcprototype>
|
</funcprototype>
|
||||||
</funcsynopsis>
|
</funcsynopsis>
|
||||||
<para>
|
<para>
|
||||||
UtilisTe pour dTsallouer dynamiquement un filtre de prT-compilation.
|
Utilis<EFBFBD>e pour d<EFBFBD>sallouer dynamiquement un filtre de pr<EFBFBD>-compilation.
|
||||||
</para>
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
<sect1 id="api.unregister.resource">
|
<sect1 id="api.unregister.resource">
|
||||||
@@ -964,8 +964,8 @@ $smarty->unregister_modifier("strip_tags");</programlisting>
|
|||||||
</funcprototype>
|
</funcprototype>
|
||||||
</funcsynopsis>
|
</funcsynopsis>
|
||||||
<para>
|
<para>
|
||||||
UtilisTe pour dTsallouer dynamiquement un plugin ressource.
|
Utilis<EFBFBD>e pour d<EFBFBD>sallouer dynamiquement un plugin ressource.
|
||||||
Passez en paramFtre le nom de la ressource.
|
Passez en param<EFBFBD>tre le nom de la ressource.
|
||||||
</para>
|
</para>
|
||||||
<example>
|
<example>
|
||||||
<title>unregister_resource</title>
|
<title>unregister_resource</title>
|
||||||
|
@@ -6,18 +6,18 @@
|
|||||||
<sect1 id="variable.template.dir">
|
<sect1 id="variable.template.dir">
|
||||||
<title>$template_dir</title>
|
<title>$template_dir</title>
|
||||||
<para>
|
<para>
|
||||||
C'est le nom par dTfaut du rTpertoire des templates.
|
C'est le nom par d<EFBFBD>faut du r<EFBFBD>pertoire des templates.
|
||||||
Si vous ne spTcifiez aucun chemin lors de l'utilisation de templates, Smarty
|
Si vous ne sp<EFBFBD>cifiez aucun chemin lors de l'utilisation de templates, Smarty
|
||||||
les cherchera a cet emplacement.
|
les cherchera a cet emplacement.
|
||||||
Par dTfaut, il s'agit de "./templates", ce qui signifie
|
Par d<EFBFBD>faut, il s'agit de "./templates", ce qui signifie
|
||||||
qu'il va chercher le rTpertoire templates
|
qu'il va chercher le r<EFBFBD>pertoire templates
|
||||||
dans le rTpertoire o<> se trouve le script PHP en cours d'exTcution.
|
dans le r<EFBFBD>pertoire o<> se trouve le script PHP en cours d'ex<EFBFBD>cution.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<note>
|
<note>
|
||||||
<title>Note technique</title>
|
<title>Note technique</title>
|
||||||
<para>
|
<para>
|
||||||
Il n'est pas conseillT de mettre ce rTpertoire
|
Il n'est pas conseill<EFBFBD> de mettre ce r<EFBFBD>pertoire
|
||||||
dans l'arborescence Web.
|
dans l'arborescence Web.
|
||||||
</para>
|
</para>
|
||||||
</note>
|
</note>
|
||||||
@@ -25,22 +25,22 @@
|
|||||||
<sect1 id="variable.compile.dir">
|
<sect1 id="variable.compile.dir">
|
||||||
<title>$compile_dir</title>
|
<title>$compile_dir</title>
|
||||||
<para>
|
<para>
|
||||||
C'est le nom du rTpertoire o<> se trouvent les templates
|
C'est le nom du r<EFBFBD>pertoire o<> se trouvent les templates
|
||||||
compilTs. Par dTfaut, il s'agit de "./templates_c",
|
compil<EFBFBD>s. Par d<EFBFBD>faut, il s'agit de "./templates_c",
|
||||||
ce qui signifie que Smarty va chercher ce rTpertoire
|
ce qui signifie que Smarty va chercher ce r<EFBFBD>pertoire
|
||||||
dans le mOme rTpertoire que le script PHP en cours d'exTcution.
|
dans le m<EFBFBD>me r<EFBFBD>pertoire que le script PHP en cours d'ex<EFBFBD>cution.
|
||||||
</para>
|
</para>
|
||||||
<note>
|
<note>
|
||||||
<title>Note technique</title>
|
<title>Note technique</title>
|
||||||
<para>
|
<para>
|
||||||
Ce rTglage doit Otre soit un chemin absolu, soit un chemin
|
Ce r<EFBFBD>glage doit Otre soit un chemin absolu, soit un chemin
|
||||||
relatif. include_path n'est pas utilisT pour Tcrire des fichiers.
|
relatif. include_path n'est pas utilis<EFBFBD> pour Tcrire des fichiers.
|
||||||
</para>
|
</para>
|
||||||
</note>
|
</note>
|
||||||
<note>
|
<note>
|
||||||
<title>Note technique</title>
|
<title>Note technique</title>
|
||||||
<para>
|
<para>
|
||||||
Il n'est pas conseillT de mettre ce rTpertoire
|
Il n'est pas conseill<EFBFBD> de mettre ce r<EFBFBD>pertoire
|
||||||
sous la racine de l'arborescence Web.
|
sous la racine de l'arborescence Web.
|
||||||
</para>
|
</para>
|
||||||
</note>
|
</note>
|
||||||
@@ -48,16 +48,16 @@
|
|||||||
<sect1 id="variable.config.dir">
|
<sect1 id="variable.config.dir">
|
||||||
<title>$config_dir</title>
|
<title>$config_dir</title>
|
||||||
<para>
|
<para>
|
||||||
Il s'agit du rTpertoire utilisT pour stocker les
|
Il s'agit du r<EFBFBD>pertoire utilis<EFBFBD> pour stocker les
|
||||||
fichiers de configuration utilisTs dans les templates.
|
fichiers de configuration utilis<EFBFBD>s dans les templates.
|
||||||
La valeur par dTfaut est "./configs", ce qui signifie
|
La valeur par d<EFBFBD>faut est "./configs", ce qui signifie
|
||||||
que Smarty va chercher ce rTpertoire
|
que Smarty va chercher ce r<EFBFBD>pertoire
|
||||||
dans le mOme rTpertoire que le script PHP qui s'exTcute.
|
dans le m<EFBFBD>me r<EFBFBD>pertoire que le script PHP qui s'ex<EFBFBD>cute.
|
||||||
</para>
|
</para>
|
||||||
<note>
|
<note>
|
||||||
<title>Note technique</title>
|
<title>Note technique</title>
|
||||||
<para>
|
<para>
|
||||||
Il n'est pas conseillT de mettre ce rTpertoire
|
Il n'est pas conseill<EFBFBD> de mettre ce r<EFBFBD>pertoire
|
||||||
sous la racine de l'arborescence Web.
|
sous la racine de l'arborescence Web.
|
||||||
</para>
|
</para>
|
||||||
</note>
|
</note>
|
||||||
@@ -65,17 +65,17 @@
|
|||||||
<sect1 id="variable.plugins.dir">
|
<sect1 id="variable.plugins.dir">
|
||||||
<title>$plugins_dir</title>
|
<title>$plugins_dir</title>
|
||||||
<para>
|
<para>
|
||||||
Ce sont les rTpertoire dans lesquels Smarty ira chercher les plugins
|
Ce sont les r<EFBFBD>pertoire dans lesquels Smarty ira chercher les plugins
|
||||||
dont il a besoin. La valeur par dTfaut est "plugins" sous le
|
dont il a besoin. La valeur par d<EFBFBD>faut est "plugins" sous le
|
||||||
rTpertoire SMARTY_DIR. Si vous donnez un chemin relatif, Smarty
|
r<EFBFBD>pertoire SMARTY_DIR. Si vous donnez un chemin relatif, Smarty
|
||||||
regardera d'abord relativement au SMARTY_DIR, puis relativement au rtc (rTpertoire
|
regardera d'abord relativement au SMARTY_DIR, puis relativement au rtc (r<EFBFBD>pertoire
|
||||||
de travail courant), puis relativement a chaque entrTe de votre rTpertoire
|
de travail courant), puis relativement a chaque entr<EFBFBD>e de votre r<EFBFBD>pertoire
|
||||||
d'inclusion PHP.
|
d'inclusion PHP.
|
||||||
</para>
|
</para>
|
||||||
<note>
|
<note>
|
||||||
<title>Note technique</title>
|
<title>Note technique</title>
|
||||||
<para>
|
<para>
|
||||||
Pour des raisons de performances, ne rTglez pas votre plugins_dir
|
Pour des raisons de performances, ne r<EFBFBD>glez pas votre plugins_dir
|
||||||
pour qu'il utilise votre include_path PHP. Utilisez un
|
pour qu'il utilise votre include_path PHP. Utilisez un
|
||||||
chemin absolu ou un chemin relatif a SMARTY_DIR ou au rtc.
|
chemin absolu ou un chemin relatif a SMARTY_DIR ou au rtc.
|
||||||
</para>
|
</para>
|
||||||
@@ -86,26 +86,26 @@
|
|||||||
<para>
|
<para>
|
||||||
Cela active la
|
Cela active la
|
||||||
<link
|
<link
|
||||||
linkend="chapter.debugging.console">console de dTbogage</link>.
|
linkend="chapter.debugging.console">console de d<EFBFBD>bogage</link>.
|
||||||
La console est une fenOtre javascript qui vous informe des templates
|
La console est une fen<EFBFBD>tre javascript qui vous informe des templates
|
||||||
inclus et des variables assignTes dans la page courante.
|
inclus et des variables assign<EFBFBD>es dans la page courante.
|
||||||
</para>
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
<sect1 id="variable.debug.tpl">
|
<sect1 id="variable.debug.tpl">
|
||||||
<title>$debug_tpl</title>
|
<title>$debug_tpl</title>
|
||||||
<para>
|
<para>
|
||||||
C'est le nom du fichier template utilisT pour la
|
C'est le nom du fichier template utilis<EFBFBD> pour la
|
||||||
console de dTbuggage. Par dTfaut debug.tpl, il se situe dans <link
|
console de d<EFBFBD>buggage. Par d<EFBFBD>faut debug.tpl, il se situe dans <link
|
||||||
linkend="constant.smarty.dir">SMARTY_DIR</link>
|
linkend="constant.smarty.dir">SMARTY_DIR</link>
|
||||||
</para>
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
<sect1 id="variable.debugging.ctrl">
|
<sect1 id="variable.debugging.ctrl">
|
||||||
<title>$debugging_ctrl</title>
|
<title>$debugging_ctrl</title>
|
||||||
<para>
|
<para>
|
||||||
Cela permet d'avoir diffTrents moyens pour activer
|
Cela permet d'avoir diff<EFBFBD>rents moyens pour activer
|
||||||
le dTbogage. URL signifie que si SMARTY_DEBUG se
|
le d<EFBFBD>bogage. URL signifie que si SMARTY_DEBUG se
|
||||||
trouve dans QUERY_STRING, le dTbuggage
|
trouve dans QUERY_STRING, le d<EFBFBD>buggage
|
||||||
est activT a l'invocation du script. Si $debugging
|
est activ<EFBFBD> a l'invocation du script. Si $debugging
|
||||||
est a vrai, cette valeur est sans effet.
|
est a vrai, cette valeur est sans effet.
|
||||||
</para>
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
@@ -113,21 +113,21 @@
|
|||||||
<title>$global_assign</title>
|
<title>$global_assign</title>
|
||||||
<para>
|
<para>
|
||||||
C'est une liste de variable qui sont toujours
|
C'est une liste de variable qui sont toujours
|
||||||
implicitement assignTes au moteur de templates.
|
implicitement assign<EFBFBD>es au moteur de templates.
|
||||||
Ceci est commode pour rendre des variables globales
|
Ceci est commode pour rendre des variables globales
|
||||||
ou des variables du serveur accessibles a tous les templates
|
ou des variables du serveur accessibles a tous les templates
|
||||||
plut(t que de devoir les assigner a la main. Chaque TlTment
|
plut(t que de devoir les assigner a la main. Chaque Tl<EFBFBD>ment
|
||||||
de $global_assign doit Otre soit le nom de la variable
|
de $global_assign doit Otre soit le nom de la variable
|
||||||
globale, soit une paire clef/valeur, o<> clef est le
|
globale, soit une paire clef/valeur, o<> clef est le
|
||||||
nom du tableau global et valeur le tableau de variable
|
nom du tableau global et valeur le tableau de variable
|
||||||
assignTes depuis ce tableau global.
|
assign<EFBFBD>es depuis ce tableau global.
|
||||||
$SCRIPT_NAME est globalement assignT par dTfaut depuis
|
$SCRIPT_NAME est globalement assign<EFBFBD> par d<EFBFBD>faut depuis
|
||||||
$HTTP_SERVER_VARS.
|
$HTTP_SERVER_VARS.
|
||||||
</para>
|
</para>
|
||||||
<note>
|
<note>
|
||||||
<title>Note technique</title>
|
<title>Note technique</title>
|
||||||
<para>
|
<para>
|
||||||
On peut accTder aux variables du serveur avec la variable
|
On peut acc<EFBFBD>der aux variables du serveur avec la variable
|
||||||
$smarty, par exemple {$smarty.server.SCRIPT_NAME}.
|
$smarty, par exemple {$smarty.server.SCRIPT_NAME}.
|
||||||
Se reporter a la section sur la variable
|
Se reporter a la section sur la variable
|
||||||
<link linkend="language.variables.smarty">$smarty</link>.
|
<link linkend="language.variables.smarty">$smarty</link>.
|
||||||
@@ -137,17 +137,17 @@
|
|||||||
<sect1 id="variable.undefined">
|
<sect1 id="variable.undefined">
|
||||||
<title>$undefined</title>
|
<title>$undefined</title>
|
||||||
<para>
|
<para>
|
||||||
Cela rFgle la valeur de $undefined, null par dTfaut.
|
Cela r<EFBFBD>gle la valeur de $undefined, null par d<EFBFBD>faut.
|
||||||
N'est actuellement utilisT que pour initialiser
|
N'est actuellement utilis<EFBFBD> que pour initialiser
|
||||||
des variables non-dTfinies dans $global_assign a des
|
des variables non-d<EFBFBD>finies dans $global_assign a des
|
||||||
valeurs par dTfaut.
|
valeurs par d<EFBFBD>faut.
|
||||||
</para>
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
<sect1 id="variable.autoload.filters">
|
<sect1 id="variable.autoload.filters">
|
||||||
<title>$autoload_filters</title>
|
<title>$autoload_filters</title>
|
||||||
<para>
|
<para>
|
||||||
Si vous dTsirez charger des filtres a chaque invocation
|
Si vous d<EFBFBD>sirez charger des filtres a chaque invocation
|
||||||
de templates, vous pouvez le spTcifier en utilisant cette
|
de templates, vous pouvez le sp<EFBFBD>cifier en utilisant cette
|
||||||
variable. Les types de filtres et les valeurs sont des
|
variable. Les types de filtres et les valeurs sont des
|
||||||
tableaux comportant le nom des filtres.
|
tableaux comportant le nom des filtres.
|
||||||
<informalexample>
|
<informalexample>
|
||||||
@@ -162,21 +162,21 @@ $smarty->autoload_filters = array('pre' => array('trim', 'stamp'),
|
|||||||
<title>$compile_check</title>
|
<title>$compile_check</title>
|
||||||
<para>
|
<para>
|
||||||
A chaque invocation de l'application PHP, Smarty fait
|
A chaque invocation de l'application PHP, Smarty fait
|
||||||
un test pour voir si le template courant a TtT modifiT
|
un test pour voir si le template courant a Tt<EFBFBD> modifi<EFBFBD>
|
||||||
(date de derniFre modification diffTrente) depuis sa
|
(date de derni<EFBFBD>re modification diff<EFBFBD>rente) depuis sa
|
||||||
derniFre compilation. S'il a changT, le template est recompilT.
|
derni<EFBFBD>re compilation. S'il a chang<EFBFBD>, le template est recompil<EFBFBD>.
|
||||||
Si le template n'a pas encore TtT compilT, il le sera
|
Si le template n'a pas encore Tt<EFBFBD> compil<EFBFBD>, il le sera
|
||||||
quelle que soit la valeur ce rTglage.
|
quelle que soit la valeur ce r<EFBFBD>glage.
|
||||||
Par dTfaut cette valeur est a vrai. Quand
|
Par d<EFBFBD>faut cette valeur est a vrai. Quand
|
||||||
une application est mise en production (les templates
|
une application est mise en production (les templates
|
||||||
ne changent plus), cette vTrification n'est pas nTcessaire.
|
ne changent plus), cette v<EFBFBD>rification n'est pas n<EFBFBD>cessaire.
|
||||||
Assurez-vous de mettre $compile_check a "false" pour des performances
|
Assurez-vous de mettre $compile_check a "false" pour des performances
|
||||||
maximales. Notez que si vous mettez ce paramFtre a "false" et qu'un
|
maximales. Notez que si vous mettez ce param<EFBFBD>tre a "false" et qu'un
|
||||||
template est modifiT, vous ne verrez *pas* le changement
|
template est modifi<EFBFBD>, vous ne verrez *pas* le changement
|
||||||
car le template ne sera *pas* recompilT. Si le processus de cache
|
car le template ne sera *pas* recompil<EFBFBD>. Si le processus de cache
|
||||||
est activT et que $compile_check l'est aussi, alors les fichiers
|
est activ<EFBFBD> et que $compile_check l'est aussi, alors les fichiers
|
||||||
du cache seront regTnTrTs si un template concernT ou un fichier de
|
du cache seront reg<EFBFBD>n<EFBFBD>r<EFBFBD>s si un template concern<EFBFBD> ou un fichier de
|
||||||
configuration concernT est modifiT. Voir aussi <link
|
configuration concern<EFBFBD> est modifi<EFBFBD>. Voir aussi <link
|
||||||
linkend="variable.force.compile">$force_compile</link> ou <link
|
linkend="variable.force.compile">$force_compile</link> ou <link
|
||||||
linkend="api.clear.compiled.tpl">clear_compiled_tpl</link>.
|
linkend="api.clear.compiled.tpl">clear_compiled_tpl</link>.
|
||||||
</para>
|
</para>
|
||||||
@@ -186,56 +186,56 @@ $smarty->autoload_filters = array('pre' => array('trim', 'stamp'),
|
|||||||
<title>$force_compile</title>
|
<title>$force_compile</title>
|
||||||
<para>
|
<para>
|
||||||
Cela oblige Smarty a (re)compiler les templates a chaque
|
Cela oblige Smarty a (re)compiler les templates a chaque
|
||||||
invocation. Ce rTglage supplante $compile_check. Par dTfaut, il
|
invocation. Ce r<EFBFBD>glage supplante $compile_check. Par d<EFBFBD>faut, il
|
||||||
est dTsactivT. Ceci est commode pour le dTveloppement et le
|
est d<EFBFBD>sactiv<EFBFBD>. Ceci est commode pour le d<EFBFBD>veloppement et le
|
||||||
dTbogage mais ne devrait jamais Otre utilisT dans un environnment
|
d<EFBFBD>bogage mais ne devrait jamais Otre utilis<EFBFBD> dans un environnment
|
||||||
de production. Si le systFme de cache est actif, les
|
de production. Si le syst<EFBFBD>me de cache est actif, les
|
||||||
fichiers du cache seront regTnTrTs a chaque appel.
|
fichiers du cache seront reg<EFBFBD>n<EFBFBD>r<EFBFBD>s a chaque appel.
|
||||||
</para>
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
<sect1 id="variable.caching">
|
<sect1 id="variable.caching">
|
||||||
<title>$caching</title>
|
<title>$caching</title>
|
||||||
<para>
|
<para>
|
||||||
Ce paramFtre demande a Smarty de mettre ou non en cache la sortie des
|
Ce param<EFBFBD>tre demande a Smarty de mettre ou non en cache la sortie des
|
||||||
templates.
|
templates.
|
||||||
Par dTfaut ce rTglage est a 0 (dTsactivT). Si vos templates
|
Par d<EFBFBD>faut ce r<EFBFBD>glage est a 0 (d<EFBFBD>sactiv<EFBFBD>). Si vos templates
|
||||||
gTnFrent du contenu redondant, il est conseillT d'activer le
|
g<EFBFBD>n<EFBFBD>rent du contenu redondant, il est conseill<EFBFBD> d'activer le
|
||||||
cache. Cela permettra un gain de performance consTquent.
|
cache. Cela permettra un gain de performance cons<EFBFBD>quent.
|
||||||
Vous pouvez aussi avoir de nombreux fichiers de cache pour un mOme template.
|
Vous pouvez aussi avoir de nombreux fichiers de cache pour un m<EFBFBD>me template.
|
||||||
Une valeur de 1 ou 2 active le cache. 1 indique a Smarty d'utiliser
|
Une valeur de 1 ou 2 active le cache. 1 indique a Smarty d'utiliser
|
||||||
la variable $cache_lifetime pour dTterminer si le fichier de cache a expirT.
|
la variable $cache_lifetime pour d<EFBFBD>terminer si le fichier de cache a expir<EFBFBD>.
|
||||||
Une valeur de 2 indique a Smarty d'utiliser la valeur
|
Une valeur de 2 indique a Smarty d'utiliser la valeur
|
||||||
$cache_lifetime spTcifiTe a la gTnTration du cache. Ainsi vous pouvez rTgler
|
$cache_lifetime sp<EFBFBD>cifi<EFBFBD>e a la g<EFBFBD>n<EFBFBD>ration du cache. Ainsi vous pouvez r<EFBFBD>gler
|
||||||
la durTe de vie d'un fichier de cache avant de rTcupTrer le template pour avoir
|
la dur<EFBFBD>e de vie d'un fichier de cache avant de r<EFBFBD>cup<EFBFBD>rer le template pour avoir
|
||||||
un certain contr(le quand ce fichier en particulier expire. Voir
|
un certain contr(le quand ce fichier en particulier expire. Voir
|
||||||
aussi <link linkend="api.is.cached">is_cached</link>.
|
aussi <link linkend="api.is.cached">is_cached</link>.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Si $compile_check est actif, le contenu du cache sera regTnTrT
|
Si $compile_check est actif, le contenu du cache sera reg<EFBFBD>n<EFBFBD>r<EFBFBD>
|
||||||
si un des templates ou un des fichiers de configuration qui fait partie
|
si un des templates ou un des fichiers de configuration qui fait partie
|
||||||
de ce fichier de cache a TtT modifiT. Si $force_compile est actif, le contenu
|
de ce fichier de cache a Tt<EFBFBD> modifi<EFBFBD>. Si $force_compile est actif, le contenu
|
||||||
du cache est toujours regTnTrT.
|
du cache est toujours reg<EFBFBD>n<EFBFBD>r<EFBFBD>.
|
||||||
</para>
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
<sect1 id="variable.cache.dir">
|
<sect1 id="variable.cache.dir">
|
||||||
<title>$cache_dir</title>
|
<title>$cache_dir</title>
|
||||||
<para>
|
<para>
|
||||||
Il s'agit du nom du rTpertoire o<> les caches des templates
|
Il s'agit du nom du r<EFBFBD>pertoire o<> les caches des templates
|
||||||
sont stockTs. Par dTfaut il s'agit de "./cache", ce qui signifie
|
sont stock<EFBFBD>s. Par d<EFBFBD>faut il s'agit de "./cache", ce qui signifie
|
||||||
que Smarty va chercher ce rTpertoire
|
que Smarty va chercher ce r<EFBFBD>pertoire
|
||||||
dans le mOme rTpertoire que le script PHP en cours d'exTcution.
|
dans le m<EFBFBD>me r<EFBFBD>pertoire que le script PHP en cours d'ex<EFBFBD>cution.
|
||||||
</para>
|
</para>
|
||||||
<note>
|
<note>
|
||||||
<title>Note technique</title>
|
<title>Note technique</title>
|
||||||
<para>
|
<para>
|
||||||
Ce rTglage doit Otre soit un chemin absolu, soit un chemin
|
Ce r<EFBFBD>glage doit Otre soit un chemin absolu, soit un chemin
|
||||||
relatif. include_path n'a aucune influence lors de l'Tcriture des fichiers.
|
relatif. include_path n'a aucune influence lors de l'Tcriture des fichiers.
|
||||||
</para>
|
</para>
|
||||||
</note>
|
</note>
|
||||||
<note>
|
<note>
|
||||||
<title>Technical Note</title>
|
<title>Technical Note</title>
|
||||||
<para>
|
<para>
|
||||||
Il n'est pas conseillT de mettre ce rTpertoire
|
Il n'est pas conseill<EFBFBD> de mettre ce r<EFBFBD>pertoire
|
||||||
dans l'arborescence Web.
|
dans l'arborescence Web.
|
||||||
</para>
|
</para>
|
||||||
</note>
|
</note>
|
||||||
@@ -243,30 +243,30 @@ $smarty->autoload_filters = array('pre' => array('trim', 'stamp'),
|
|||||||
<sect1 id="variable.cache.lifetime">
|
<sect1 id="variable.cache.lifetime">
|
||||||
<title>$cache_lifetime</title>
|
<title>$cache_lifetime</title>
|
||||||
<para>
|
<para>
|
||||||
Il s'agit de la durTe en secondes pendant laquelle un cache de template
|
Il s'agit de la dur<EFBFBD>e en secondes pendant laquelle un cache de template
|
||||||
est valide. Une fois cette durTe dTpassTe, le cache est regTnTrT.
|
est valide. Une fois cette dur<EFBFBD>e d<EFBFBD>pass<EFBFBD>e, le cache est reg<EFBFBD>n<EFBFBD>r<EFBFBD>.
|
||||||
$caching doit Otre a "true" pour que $cache_lifetime ait une
|
$caching doit Otre a "true" pour que $cache_lifetime ait une
|
||||||
quelconque utilitT. Avec une valeur de -1, le cache n'expire jamais.
|
quelconque utilit<EFBFBD>. Avec une valeur de -1, le cache n'expire jamais.
|
||||||
Avec une valeur de 0, le cache est toujours regTnTrT (utile
|
Avec une valeur de 0, le cache est toujours reg<EFBFBD>n<EFBFBD>r<EFBFBD> (utile
|
||||||
a des fins de tests seulement. Une meilleure faton de dTsactiver
|
a des fins de tests seulement. Une meilleure faton de d<EFBFBD>sactiver
|
||||||
le cache est de mettre <link
|
le cache est de mettre <link
|
||||||
linkend="variable.caching">$caching</link> a "false").
|
linkend="variable.caching">$caching</link> a "false").
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Si <link linkend="variable.force.compile">$force_compile</link> est
|
Si <link linkend="variable.force.compile">$force_compile</link> est
|
||||||
activT, les fichiers du cache seront regTnTrTs a chaque fois,
|
activ<EFBFBD>, les fichiers du cache seront reg<EFBFBD>n<EFBFBD>r<EFBFBD>s a chaque fois,
|
||||||
dTsactivant ainsi le cache. Vous pouvez effacer tous les fichiers du cache
|
d<EFBFBD>sactivant ainsi le cache. Vous pouvez effacer tous les fichiers du cache
|
||||||
avec la function
|
avec la function
|
||||||
<link linkend="api.clear.all.cache">clear_all_cache()</link>
|
<link linkend="api.clear.all.cache">clear_all_cache()</link>
|
||||||
ou de faton individuelle (ou groupTe)
|
ou de faton individuelle (ou group<EFBFBD>e)
|
||||||
avec la fonction <link
|
avec la fonction <link
|
||||||
linkend="api.clear.cache">clear_cache()</link>.
|
linkend="api.clear.cache">clear_cache()</link>.
|
||||||
</para>
|
</para>
|
||||||
<note>
|
<note>
|
||||||
<title>Note technique</title>
|
<title>Note technique</title>
|
||||||
<para>
|
<para>
|
||||||
Si vous souhaitez donner a certains templates leur propre durTe de vie
|
Si vous souhaitez donner a certains templates leur propre dur<EFBFBD>e de vie
|
||||||
en cache, vous pouvez le faire en rTglant
|
en cache, vous pouvez le faire en r<EFBFBD>glant
|
||||||
<link linkend="variable.caching">$caching</link> a 2,
|
<link linkend="variable.caching">$caching</link> a 2,
|
||||||
puis $cache_lifetime a une unique valeur juste avant d'appeler
|
puis $cache_lifetime a une unique valeur juste avant d'appeler
|
||||||
display ou fetch().
|
display ou fetch().
|
||||||
@@ -277,18 +277,18 @@ $smarty->autoload_filters = array('pre' => array('trim', 'stamp'),
|
|||||||
<title>$cache_handler_func</title>
|
<title>$cache_handler_func</title>
|
||||||
<para>
|
<para>
|
||||||
Vous pouvez utiliser votre propre fonction de gestion du cache plut(t que
|
Vous pouvez utiliser votre propre fonction de gestion du cache plut(t que
|
||||||
d'utiliser celle livrTe avec Smarty.
|
d'utiliser celle livr<EFBFBD>e avec Smarty.
|
||||||
RTfTrez-vous a la section sur la fonction de gestion de cache
|
RTf<EFBFBD>rez-vous a la section sur la fonction de gestion de cache
|
||||||
personnalisTe pour plus de dTtails.
|
personnalis<EFBFBD>e pour plus de d<EFBFBD>tails.
|
||||||
</para>
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
<sect1 id="variable.cache.modified.check">
|
<sect1 id="variable.cache.modified.check">
|
||||||
<title>$cache_modified_check</title>
|
<title>$cache_modified_check</title>
|
||||||
<para>
|
<para>
|
||||||
Si cette variable est a vrai, Smarty respectera l'en-tOte
|
Si cette variable est a vrai, Smarty respectera l'en-t<EFBFBD>te
|
||||||
If-Modified-Since envoyT par le client. Si la date de derniFre
|
If-Modified-Since envoy<EFBFBD> par le client. Si la date de derni<EFBFBD>re
|
||||||
modification du fichier de cache n'a pas changT depuis la derniFre
|
modification du fichier de cache n'a pas chang<EFBFBD> depuis la derni<EFBFBD>re
|
||||||
visite, alors un en-tOte "304 Not Modified" sera envoyT a la place
|
visite, alors un en-t<EFBFBD>te "304 Not Modified" sera envoy<EFBFBD> a la place
|
||||||
du contenu. Cela ne fonctionne qu'avec du contenu mis en cache hors de la
|
du contenu. Cela ne fonctionne qu'avec du contenu mis en cache hors de la
|
||||||
balise <command>insert</command>.
|
balise <command>insert</command>.
|
||||||
</para>
|
</para>
|
||||||
@@ -298,9 +298,9 @@ $smarty->autoload_filters = array('pre' => array('trim', 'stamp'),
|
|||||||
<para>
|
<para>
|
||||||
Si cette variable est a vrai, les variables lues dans les fichiers
|
Si cette variable est a vrai, les variables lues dans les fichiers
|
||||||
de configuration peuvent s'Tcraser entre elles. Sinon les variables
|
de configuration peuvent s'Tcraser entre elles. Sinon les variables
|
||||||
seront mises dans un tableau. TrFs utile si vous voulez stocker
|
seront mises dans un tableau. Tr<EFBFBD>s utile si vous voulez stocker
|
||||||
des tableaux de donnTes dans des fichiers de configuration, listez
|
des tableaux de donn<EFBFBD>es dans des fichiers de configuration, listez
|
||||||
simplement chaque TlTment plusieurs fois. Mise a faux par dTfaut.
|
simplement chaque Tl<EFBFBD>ment plusieurs fois. Mise a faux par d<EFBFBD>faut.
|
||||||
</para>
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
<sect1 id="variable.config.booleanize">
|
<sect1 id="variable.config.booleanize">
|
||||||
@@ -308,45 +308,45 @@ $smarty->autoload_filters = array('pre' => array('trim', 'stamp'),
|
|||||||
<para>
|
<para>
|
||||||
Si cette variable est a vrai, les valeurs on/true/yes et off/false/no
|
Si cette variable est a vrai, les valeurs on/true/yes et off/false/no
|
||||||
dans les fichiers de configuration sont automitiquement converties
|
dans les fichiers de configuration sont automitiquement converties
|
||||||
en boolTen. De cette faton vous pouvez utiliser ces valeurs dans le
|
en bool<EFBFBD>en. De cette faton vous pouvez utiliser ces valeurs dans le
|
||||||
template de la faton suivante : {if #foobar#} ... {/if}. Si foobar
|
template de la faton suivante : {if #foobar#} ... {/if}. Si foobar
|
||||||
est a on, true ou yes, l'instruction {if} sera exTcutTe. vrai
|
est a on, true ou yes, l'instruction {if} sera ex<EFBFBD>cut<EFBFBD>e. vrai
|
||||||
par dTfaut.
|
par d<EFBFBD>faut.
|
||||||
</para>
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
<sect1 id="variable.config.read.hidden">
|
<sect1 id="variable.config.read.hidden">
|
||||||
<title>$config_read_hidden</title>
|
<title>$config_read_hidden</title>
|
||||||
<para>
|
<para>
|
||||||
Si cette variable est a vrai, les sections cachTs (dont les noms
|
Si cette variable est a vrai, les sections cach<EFBFBD>s (dont les noms
|
||||||
commencent par un point) dans les fichiers de configuration peuvent
|
commencent par un point) dans les fichiers de configuration peuvent
|
||||||
Otre lues depuis les templates. On laisse habituellement cela a faux, de
|
Otre lues depuis les templates. On laisse habituellement cela a faux, de
|
||||||
cette faton vous pouvez stocker des donnTes sensibles dans les fichiers
|
cette faton vous pouvez stocker des donn<EFBFBD>es sensibles dans les fichiers
|
||||||
de configuration, comme par exemple des paramFtres de base de donnTes,
|
de configuration, comme par exemple des param<EFBFBD>tres de base de donn<EFBFBD>es,
|
||||||
sans vous soucier de la faton dont les templates les chargent.
|
sans vous soucier de la faton dont les templates les chargent.
|
||||||
Mise a faux par dTfaut.
|
Mise a faux par d<EFBFBD>faut.
|
||||||
</para>
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
<sect1 id="variable.config.fix.newlines">
|
<sect1 id="variable.config.fix.newlines">
|
||||||
<title>$config_fix_newlines</title>
|
<title>$config_fix_newlines</title>
|
||||||
<para>
|
<para>
|
||||||
Si cette variable est mise a vrai, les caractFres de nouvelles lignes mac et dos
|
Si cette variable est mise a vrai, les caract<EFBFBD>res de nouvelles lignes mac et dos
|
||||||
(\r et \r\n) sont convertis en \n quand ils sont analysTs. vrai par dTfaut.
|
(\r et \r\n) sont convertis en \n quand ils sont analys<EFBFBD>s. vrai par d<EFBFBD>faut.
|
||||||
</para>
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
<sect1 id="variable.default.template.handler.func">
|
<sect1 id="variable.default.template.handler.func">
|
||||||
<title>$default_template_handler_func</title>
|
<title>$default_template_handler_func</title>
|
||||||
<para>
|
<para>
|
||||||
Cette fonction est appelTe quand un template ne peut pas Otre
|
Cette fonction est appel<EFBFBD>e quand un template ne peut pas Otre
|
||||||
obtenu avec sa ressource.
|
obtenu avec sa ressource.
|
||||||
</para>
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
<sect1 id="variable.php.handling">
|
<sect1 id="variable.php.handling">
|
||||||
<title>$php_handling</title>
|
<title>$php_handling</title>
|
||||||
<para>
|
<para>
|
||||||
Indique a Smarty comment interprTter le code PHP
|
Indique a Smarty comment interpr<EFBFBD>ter le code PHP
|
||||||
intTgrT dans les templates. Il y a quatre valeurs possibles, par
|
int<EFBFBD>gr<EFBFBD> dans les templates. Il y a quatre valeurs possibles, par
|
||||||
dTfaut SMARTY_PHP_PASSTHRU. Notez que cela n'affecte PAS le code
|
d<EFBFBD>faut SMARTY_PHP_PASSTHRU. Notez que cela n'affecte PAS le code
|
||||||
PHP entourT des balises
|
PHP entour<EFBFBD> des balises
|
||||||
<link linkend="language.function.php">{php}{/php}</link>
|
<link linkend="language.function.php">{php}{/php}</link>
|
||||||
dans le template.
|
dans le template.
|
||||||
</para>
|
</para>
|
||||||
@@ -354,15 +354,15 @@ $smarty->autoload_filters = array('pre' => array('trim', 'stamp'),
|
|||||||
<listitem><para>SMARTY_PHP_PASSTHRU - Smarty Tcrit les balises
|
<listitem><para>SMARTY_PHP_PASSTHRU - Smarty Tcrit les balises
|
||||||
telles quelles.</para></listitem>
|
telles quelles.</para></listitem>
|
||||||
<listitem><para>SMARTY_PHP_QUOTE - Smarty transforme les balises
|
<listitem><para>SMARTY_PHP_QUOTE - Smarty transforme les balises
|
||||||
en entitTs HTML.</para></listitem>
|
en entit<EFBFBD>s HTML.</para></listitem>
|
||||||
<listitem><para>SMARTY_PHP_REMOVE - Smarty supprime les balises
|
<listitem><para>SMARTY_PHP_REMOVE - Smarty supprime les balises
|
||||||
des templates.</para></listitem>
|
des templates.</para></listitem>
|
||||||
<listitem><para>SMARTY_PHP_ALLOW - Smarty exTcute les balises
|
<listitem><para>SMARTY_PHP_ALLOW - Smarty ex<EFBFBD>cute les balises
|
||||||
comme du code PHP.</para></listitem>
|
comme du code PHP.</para></listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
<para>
|
<para>
|
||||||
NOTE : IntTgrer du code PHP dans les templates est vivement
|
NOTE : Int<EFBFBD>grer du code PHP dans les templates est vivement
|
||||||
dTconseillT. PrTfTrez les
|
d<EFBFBD>conseill<EFBFBD>. Pr<EFBFBD>f<EFBFBD>rez les
|
||||||
<link linkend="language.custom.functions">fonctions utilisateurs</link>
|
<link linkend="language.custom.functions">fonctions utilisateurs</link>
|
||||||
ou les <link linkend="language.modifiers">modificateurs de variables</link>.
|
ou les <link linkend="language.modifiers">modificateurs de variables</link>.
|
||||||
</para>
|
</para>
|
||||||
@@ -370,121 +370,121 @@ $smarty->autoload_filters = array('pre' => array('trim', 'stamp'),
|
|||||||
<sect1 id="variable.security">
|
<sect1 id="variable.security">
|
||||||
<title>$security</title>
|
<title>$security</title>
|
||||||
<para>
|
<para>
|
||||||
Cette variable est a faux par dTfaut. $security est de rigueur
|
Cette variable est a faux par d<EFBFBD>faut. $security est de rigueur
|
||||||
quand vous n'Otes pas complFtement svr des personnes qui Tditent les templates
|
quand vous n'Otes pas compl<EFBFBD>tement svr des personnes qui Tditent les templates
|
||||||
(par ftp par exemple) et que vous voulez rTduire le risque que
|
(par ftp par exemple) et que vous voulez r<EFBFBD>duire le risque que
|
||||||
la sTcuritT du systFme soit compromise par le language de template.
|
la s<EFBFBD>curit<EFBFBD> du syst<EFBFBD>me soit compromise par le language de template.
|
||||||
Activer cette option de sTcuritT applique les rFgles suivantes
|
Activer cette option de s<EFBFBD>curit<EFBFBD> applique les r<EFBFBD>gles suivantes
|
||||||
au langage de template, a moins que $security_settings ne spTcifie
|
au langage de template, a moins que $security_settings ne sp<EFBFBD>cifie
|
||||||
le contraire :
|
le contraire :
|
||||||
</para>
|
</para>
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem><para>Si $php_handling est rTglTe a SMARTY_PHP_ALLOW,
|
<listitem><para>Si $php_handling est r<EFBFBD>gl<EFBFBD>e a SMARTY_PHP_ALLOW,
|
||||||
cela est implicitement changT a SMARTY_PHP_PASSTHRU.</para></listitem>
|
cela est implicitement chang<EFBFBD> a SMARTY_PHP_PASSTHRU.</para></listitem>
|
||||||
<listitem><para>Les fonctions PHP ne sont pas autorisTes dans les
|
<listitem><para>Les fonctions PHP ne sont pas autoris<EFBFBD>es dans les
|
||||||
instructions IF, a part celles dTclarTes dans
|
instructions IF, a part celles d<EFBFBD>clar<EFBFBD>es dans
|
||||||
$security_settings.</para></listitem>
|
$security_settings.</para></listitem>
|
||||||
<listitem><para>Les templates ne peuvent Otre inclus que depuis
|
<listitem><para>Les templates ne peuvent Otre inclus que depuis
|
||||||
des rTpertoires listTs dans le tableau $security_dir.</para></listitem>
|
des r<EFBFBD>pertoires list<EFBFBD>s dans le tableau $security_dir.</para></listitem>
|
||||||
<listitem><para>Les fichiers locaux ne peuvent Otre rTcupTrTs que depuis
|
<listitem><para>Les fichiers locaux ne peuvent Otre r<EFBFBD>cup<EFBFBD>r<EFBFBD>s que depuis
|
||||||
les rTpertoires listTs dans le tableau $security_dir en
|
les r<EFBFBD>pertoires list<EFBFBD>s dans le tableau $security_dir en
|
||||||
utilisant {fetch}.</para></listitem>
|
utilisant {fetch}.</para></listitem>
|
||||||
<listitem><para>Les balises {php}{/php} ne sont pas autorisTes.</para></listitem>
|
<listitem><para>Les balises {php}{/php} ne sont pas autoris<EFBFBD>es.</para></listitem>
|
||||||
<listitem><para>Les fonctions PHP ne sont pas autorisTes en tant
|
<listitem><para>Les fonctions PHP ne sont pas autoris<EFBFBD>es en tant
|
||||||
modificateurs, a part celles spTcifiTes dans $security_settings.</para></listitem>
|
modificateurs, a part celles sp<EFBFBD>cifi<EFBFBD>es dans $security_settings.</para></listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</sect1>
|
</sect1>
|
||||||
<sect1 id="variable.secure.dir">
|
<sect1 id="variable.secure.dir">
|
||||||
<title>$secure_dir</title>
|
<title>$secure_dir</title>
|
||||||
<para>
|
<para>
|
||||||
Il s'agit d'un tableau contenant tous les rTpertoires locaux qui sont
|
Il s'agit d'un tableau contenant tous les r<EFBFBD>pertoires locaux qui sont
|
||||||
considTrTs comme sTcurisTs. {include} et {fetch} l'utilisent quand
|
consid<EFBFBD>r<EFBFBD>s comme s<EFBFBD>curis<EFBFBD>s. {include} et {fetch} l'utilisent quand
|
||||||
la sTcuritT est activTe.
|
la s<EFBFBD>curit<EFBFBD> est activ<EFBFBD>e.
|
||||||
</para>
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
<sect1 id="variable.security.settings">
|
<sect1 id="variable.security.settings">
|
||||||
<title>$security_settings</title>
|
<title>$security_settings</title>
|
||||||
<para>
|
<para>
|
||||||
Ces rTglages servent a Tcraser ou spTcifier les paramFtres de sTcuritT
|
Ces r<EFBFBD>glages servent a Tcraser ou sp<EFBFBD>cifier les param<EFBFBD>tres de s<EFBFBD>curit<EFBFBD>
|
||||||
quand celle-ci est activTe. Les rTglages possibles sont les suivants :
|
quand celle-ci est activ<EFBFBD>e. Les r<EFBFBD>glages possibles sont les suivants :
|
||||||
</para>
|
</para>
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem><para>PHP_HANDLING - true/false. Si vrai, le
|
<listitem><para>PHP_HANDLING - true/false. Si vrai, le
|
||||||
rTglage $php_handling n'est pas vTrifiT.</para></listitem>
|
r<EFBFBD>glage $php_handling n'est pas v<EFBFBD>rifi<EFBFBD>.</para></listitem>
|
||||||
<listitem><para>IF_FUNCS - Le tableau des noms de fonctions
|
<listitem><para>IF_FUNCS - Le tableau des noms de fonctions
|
||||||
PHP autorisTes dans les intructions IF.</para></listitem>
|
PHP autoris<EFBFBD>es dans les intructions IF.</para></listitem>
|
||||||
<listitem><para>INCLUDE_ANY - true/false. Si vrai,
|
<listitem><para>INCLUDE_ANY - true/false. Si vrai,
|
||||||
les templates peuvent Otre inclus de n'importe o<>, quelque soit
|
les templates peuvent Otre inclus de n'importe o<>, quelque soit
|
||||||
le contenu de $secure_dir.</para></listitem>
|
le contenu de $secure_dir.</para></listitem>
|
||||||
<listitem><para>PHP_TAGS - true/false. Si vrai,
|
<listitem><para>PHP_TAGS - true/false. Si vrai,
|
||||||
les balises {php}{/php} sont autorisTes dans les templates.</para></listitem>
|
les balises {php}{/php} sont autoris<EFBFBD>es dans les templates.</para></listitem>
|
||||||
<listitem><para>MODIFIER_FUNCS - Le tableau des noms de fonctions
|
<listitem><para>MODIFIER_FUNCS - Le tableau des noms de fonctions
|
||||||
autorisTes a Otre utilisTes comme modificateurs de variables.</para></listitem>
|
autoris<EFBFBD>es a Otre utilis<EFBFBD>es comme modificateurs de variables.</para></listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</sect1>
|
</sect1>
|
||||||
<sect1 id="variable.trusted.dir">
|
<sect1 id="variable.trusted.dir">
|
||||||
<title>$trusted_dir</title>
|
<title>$trusted_dir</title>
|
||||||
<para>
|
<para>
|
||||||
$trusted_dir n'est utilisTe lorsque $security est activTe. C'est un
|
$trusted_dir n'est utilis<EFBFBD>e lorsque $security est activ<EFBFBD>e. C'est un
|
||||||
tableau de tous les rTpertoires qui peuvent Otre considTrTs comme svrs.
|
tableau de tous les r<EFBFBD>pertoires qui peuvent Otre consid<EFBFBD>r<EFBFBD>s comme svrs.
|
||||||
Les rTpertoires svrs sont ceux qui contiennent des scripts PHP qui
|
Les r<EFBFBD>pertoires svrs sont ceux qui contiennent des scripts PHP qui
|
||||||
sont exTcutTs directement depuis les templates avec
|
sont ex<EFBFBD>cut<EFBFBD>s directement depuis les templates avec
|
||||||
<link linkend="language.function.include.php">{include_php}</link>.
|
<link linkend="language.function.include.php">{include_php}</link>.
|
||||||
</para>
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
<sect1 id="variable.left.delimiter">
|
<sect1 id="variable.left.delimiter">
|
||||||
<title>$left_delimiter</title>
|
<title>$left_delimiter</title>
|
||||||
<para>
|
<para>
|
||||||
Il s'agit du dTlimiteur gauche utilisT par le moteur de templates. La
|
Il s'agit du d<EFBFBD>limiteur gauche utilis<EFBFBD> par le moteur de templates. La
|
||||||
valeur par dTfaut est "{".
|
valeur par d<EFBFBD>faut est "{".
|
||||||
</para>
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
<sect1 id="variable.right.delimiter">
|
<sect1 id="variable.right.delimiter">
|
||||||
<title>$right_delimiter</title>
|
<title>$right_delimiter</title>
|
||||||
<para>
|
<para>
|
||||||
Il s'agit du dTlimiteur droit utilisT par le moteur de templates.
|
Il s'agit du d<EFBFBD>limiteur droit utilis<EFBFBD> par le moteur de templates.
|
||||||
La valeur par dTfaut est "}".
|
La valeur par d<EFBFBD>faut est "}".
|
||||||
</para>
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
<sect1 id="variable.compiler.class">
|
<sect1 id="variable.compiler.class">
|
||||||
<title>$compiler_class</title>
|
<title>$compiler_class</title>
|
||||||
<para>
|
<para>
|
||||||
SpTcifie le nom de la classe du compilateur qui va Otre utilisTe pour
|
Sp<EFBFBD>cifie le nom de la classe du compilateur qui va Otre utilis<EFBFBD>e pour
|
||||||
compiler les templates. Le compilateur par dTfaut est
|
compiler les templates. Le compilateur par d<EFBFBD>faut est
|
||||||
'Smarty_Compiler'. RTservT aux utilisateurs avancTs.
|
'Smarty_Compiler'. RTserv<EFBFBD> aux utilisateurs avanc<EFBFBD>s.
|
||||||
</para>
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
<sect1 id="variable.request.vars.order">
|
<sect1 id="variable.request.vars.order">
|
||||||
<title>$request_vars_order</title>
|
<title>$request_vars_order</title>
|
||||||
<para>
|
<para>
|
||||||
L'ordre dans lequel les variables de requOtes sont enregistrTes,
|
L'ordre dans lequel les variables de requ<EFBFBD>tes sont enregistr<EFBFBD>es,
|
||||||
identique a variables_order dans php.ini.
|
identique a variables_order dans php.ini.
|
||||||
</para>
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
<sect1 id="variable.compile.id">
|
<sect1 id="variable.compile.id">
|
||||||
<title>$compile_id</title>
|
<title>$compile_id</title>
|
||||||
<para>
|
<para>
|
||||||
Identifiant persistant du compilateur. On peut passer le mOme compile_id
|
Identifiant persistant du compilateur. On peut passer le m<EFBFBD>me compile_id
|
||||||
a chaque appel de fonction mais une alternative consiste a rTgler ce
|
a chaque appel de fonction mais une alternative consiste a r<EFBFBD>gler ce
|
||||||
compile_id, qui sera utilisT implicitement.
|
compile_id, qui sera utilis<EFBFBD> implicitement.
|
||||||
</para>
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
<sect1 id="variable.use.sub.dirs">
|
<sect1 id="variable.use.sub.dirs">
|
||||||
<title>$use_sub_dirs</title>
|
<title>$use_sub_dirs</title>
|
||||||
<para>
|
<para>
|
||||||
RTgler cela a faux si votre environnement PHP n'autorise pas Smarty a crTer
|
RTgler cela a faux si votre environnement PHP n'autorise pas Smarty a cr<EFBFBD>er
|
||||||
des sous-rTpertoires. Les sous-rTpertoires sont efficaces, utilisez-les quand
|
des sous-r<EFBFBD>pertoires. Les sous-r<EFBFBD>pertoires sont efficaces, utilisez-les quand
|
||||||
vous le pouvez.
|
vous le pouvez.
|
||||||
</para>
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
<sect1 id="variable.default.modifiers">
|
<sect1 id="variable.default.modifiers">
|
||||||
<title>$default_modifiers</title>
|
<title>$default_modifiers</title>
|
||||||
<para>
|
<para>
|
||||||
Il s'agit d'un tableau de modificateurs utilisT pour assigner
|
Il s'agit d'un tableau de modificateurs utilis<EFBFBD> pour assigner
|
||||||
une valeur par dTfaut a chaque variable dans un template.
|
une valeur par d<EFBFBD>faut a chaque variable dans un template.
|
||||||
Par exemple, pour par dTfaut Tchapper les caractFres HTML de chaque variable,
|
Par exemple, pour par d<EFBFBD>faut Tchapper les caract<EFBFBD>res HTML de chaque variable,
|
||||||
utilisez array('escape:"htmlall"'); Pour rendre une variable indTpendante
|
utilisez array('escape:"htmlall"'); Pour rendre une variable ind<EFBFBD>pendante
|
||||||
des modificateurs par dTfaut, passez-lui en paramFtre le modificateur
|
des modificateurs par d<EFBFBD>faut, passez-lui en param<EFBFBD>tre le modificateur
|
||||||
"nodefaults" : {$var|nodefaults}.
|
"nodefaults" : {$var|nodefaults}.
|
||||||
</para>
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
@@ -508,4 +508,4 @@ End:
|
|||||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||||
vim: et tw=78 syn=sgml
|
vim: et tw=78 syn=sgml
|
||||||
vi: ts=1 sw=1
|
vi: ts=1 sw=1
|
||||||
-->
|
-->
|
||||||
|
@@ -3,31 +3,31 @@
|
|||||||
<chapter id="caching">
|
<chapter id="caching">
|
||||||
<title>Cache</title>
|
<title>Cache</title>
|
||||||
<para>
|
<para>
|
||||||
Le cache est utilisTe pour accTlTrer l'appel de <link
|
Le cache est utilis<EFBFBD>e pour acc<EFBFBD>l<EFBFBD>rer l'appel de <link
|
||||||
linkend="api.display">display()</link> ou de <link
|
linkend="api.display">display()</link> ou de <link
|
||||||
linkend="api.fetch">fetch()</link> en sauvegardant leur rTsultat
|
linkend="api.fetch">fetch()</link> en sauvegardant leur r<EFBFBD>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 affichT sans qu'il ne soit nTcessaire de regTnTrer le rTsultat.
|
il sera affich<EFBFBD> sans qu'il ne soit n<EFBFBD>cessaire de reg<EFBFBD>n<EFBFBD>rer le r<EFBFBD>sultat.
|
||||||
Le systFme de cache
|
Le syst<EFBFBD>me de cache
|
||||||
peut accTlTrer les traitements de faton impressionnante, en particulier les
|
peut acc<EFBFBD>l<EFBFBD>rer les traitements de faton impressionnante, en particulier les
|
||||||
templates dont la compilation est trFs longue. Comme le rTsultat de
|
templates dont la compilation est tr<EFBFBD>s longue. Comme le r<EFBFBD>sultat de
|
||||||
display() ou de fetch() est dans le cache, un fichier de cache peut
|
display() ou de fetch() est dans le cache, un fichier de cache peut
|
||||||
Otre composT de plusieurs fichiers de templates, plusieurs fichiers
|
Otre compos<EFBFBD> de plusieurs fichiers de templates, plusieurs fichiers
|
||||||
de configuration, etc.
|
de configuration, etc.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Comme les templates sont dynamiques, il est important de faire attention
|
Comme les templates sont dynamiques, il est important de faire attention
|
||||||
a la faton dont les fichiers de cache sont gTnTrTs, et pour combien de temps.
|
a la faton dont les fichiers de cache sont g<EFBFBD>n<EFBFBD>r<EFBFBD>s, et pour combien de temps.
|
||||||
Si par exemple vous affichez la page d'accueil de votre site Web dont le
|
Si par exemple vous affichez la page d'accueil de votre site Web dont le
|
||||||
contenu ne change pas souvent, il peut Otre intTressant de mettre cette page
|
contenu ne change pas souvent, il peut Otre int<EFBFBD>ressant de mettre cette page
|
||||||
dans le cache pour une heure ou plus. A l'inverse, si vous affichez une page
|
dans le cache pour une heure ou plus. A l'inverse, si vous affichez une page
|
||||||
de mTtTo mises a jour toutes les minutes, mettre cette page en cache
|
de m<EFBFBD>t<EFBFBD>o mises a jour toutes les minutes, mettre cette page en cache
|
||||||
n'a aucun sens.
|
n'a aucun sens.
|
||||||
</para>
|
</para>
|
||||||
<sect1 id="caching.setting.up">
|
<sect1 id="caching.setting.up">
|
||||||
<title>ParamTtrer le cache</title>
|
<title>Param<EFBFBD>trer le cache</title>
|
||||||
<para>
|
<para>
|
||||||
La premiFre chose a faire est d'activer le cache. Cela est fait en
|
La premi<EFBFBD>re chose a faire est d'activer le cache. Cela est fait en
|
||||||
mettant <link linkend="variable.caching">$caching</link> = true
|
mettant <link linkend="variable.caching">$caching</link> = true
|
||||||
(ou 1).
|
(ou 1).
|
||||||
</para>
|
</para>
|
||||||
@@ -42,50 +42,50 @@ $smarty->caching = true;
|
|||||||
$smarty->display('index.tpl');</programlisting>
|
$smarty->display('index.tpl');</programlisting>
|
||||||
</example>
|
</example>
|
||||||
<para>
|
<para>
|
||||||
Avec le cache activT, la fonction display('index.tpl') va afficher
|
Avec le cache activ<EFBFBD>, la fonction display('index.tpl') va afficher
|
||||||
le template mais sauvegardera par la mOme occasion une copie du rTsultat
|
le template mais sauvegardera par la m<EFBFBD>me occasion une copie du r<EFBFBD>sultat
|
||||||
dans un fichier (de cache) du rTpertoire
|
dans un fichier (de cache) du r<EFBFBD>pertoire
|
||||||
<link linkend="variable.cache.dir">$cache_dir</link>. Au prochain appel de
|
<link linkend="variable.cache.dir">$cache_dir</link>. Au prochain appel de
|
||||||
display('index.tpl'), le fichier de cache sera prTfTrT a la rTutilisation
|
display('index.tpl'), le fichier de cache sera pr<EFBFBD>f<EFBFBD>r<EFBFBD> a la r<EFBFBD>utilisation
|
||||||
du template.
|
du template.
|
||||||
</para>
|
</para>
|
||||||
<note>
|
<note>
|
||||||
<title>Note technique</title>
|
<title>Note technique</title>
|
||||||
<para>
|
<para>
|
||||||
Les fichiers situTs dans $cache_dir sont nommTs de la mOme faton que les templates.
|
Les fichiers situ<EFBFBD>s dans $cache_dir sont nomm<EFBFBD>s de la m<EFBFBD>me faton que les templates.
|
||||||
Bien qu'ils aient une extension ".php", ils ne sont pas vraiment exTcutable.
|
Bien qu'ils aient une extension ".php", ils ne sont pas vraiment ex<EFBFBD>cutable.
|
||||||
N'Tditez surtout pas ces fichiers !
|
N'Tditez surtout pas ces fichiers !
|
||||||
</para>
|
</para>
|
||||||
</note>
|
</note>
|
||||||
<para>
|
<para>
|
||||||
Tout fichier de cache a une durTe de vie limitTe dTterminTe par <link
|
Tout fichier de cache a une dur<EFBFBD>e de vie limit<EFBFBD>e d<EFBFBD>termin<EFBFBD>e par <link
|
||||||
linkend="variable.cache.lifetime">$cache_lifetime</link>. La valeur par
|
linkend="variable.cache.lifetime">$cache_lifetime</link>. La valeur par
|
||||||
dTfaut est 3600 secondes, i.e. 1 heure. Une fois que cette durTe est
|
d<EFBFBD>faut est 3600 secondes, i.e. 1 heure. Une fois que cette dur<EFBFBD>e est
|
||||||
dTpassTe, le cache est regTnTrT. Il est possible de donner
|
d<EFBFBD>pass<EFBFBD>e, le cache est reg<EFBFBD>n<EFBFBD>r<EFBFBD>. Il est possible de donner
|
||||||
une durTe d'expiration propre a chaque fichier de cache en rTglant
|
une dur<EFBFBD>e d'expiration propre a chaque fichier de cache en r<EFBFBD>glant
|
||||||
$caching = 2.
|
$caching = 2.
|
||||||
Se reporter a la documentation de <link
|
Se reporter a la documentation de <link
|
||||||
linkend="variable.cache.lifetime">$cache_lifetime</link> pour plus de
|
linkend="variable.cache.lifetime">$cache_lifetime</link> pour plus de
|
||||||
dTtails.
|
d<EFBFBD>tails.
|
||||||
</para>
|
</para>
|
||||||
<example>
|
<example>
|
||||||
<title>rTglage individuel de cache_lifetime</title>
|
<title>r<EFBFBD>glage individuel de cache_lifetime</title>
|
||||||
<programlisting>
|
<programlisting>
|
||||||
require('Smarty.class.php');
|
require('Smarty.class.php');
|
||||||
$smarty = new Smarty;
|
$smarty = new Smarty;
|
||||||
|
|
||||||
$smarty->caching = 2; // rTgler la durTe de vie individuellement
|
$smarty->caching = 2; // r<EFBFBD>gler la dur<EFBFBD>e de vie individuellement
|
||||||
|
|
||||||
// rTgle la durTe de vie du cache a 15 minutes pour index.tpl
|
// r<EFBFBD>gle la dur<EFBFBD>e de vie du cache a 15 minutes pour index.tpl
|
||||||
$smarty->cache_lifetime = 300;
|
$smarty->cache_lifetime = 300;
|
||||||
$smarty->display('index.tpl');
|
$smarty->display('index.tpl');
|
||||||
|
|
||||||
// rTgle la durTe de vie du cache a 1 heure pour home.tpl
|
// r<EFBFBD>gle la dur<EFBFBD>e de vie du cache a 1 heure pour home.tpl
|
||||||
$smarty->cache_lifetime = 3600;
|
$smarty->cache_lifetime = 3600;
|
||||||
$smarty->display('home.tpl');
|
$smarty->display('home.tpl');
|
||||||
|
|
||||||
// NOTE : le rTglage suivant ne fonctionne pas quand $caching = 2. La durTe de vie
|
// NOTE : le r<EFBFBD>glage suivant ne fonctionne pas quand $caching = 2. La dur<EFBFBD>e de vie
|
||||||
// du fichier de cache de home.tpl a dTja TtT rTglTe a 1 heure et ne respectera
|
// du fichier de cache de home.tpl a d<EFBFBD>ja Tt<EFBFBD> r<EFBFBD>gl<EFBFBD>e a 1 heure et ne respectera
|
||||||
// plus la valeur de $cache_lifetime. Le cache de home.tpl expirera toujours
|
// plus la valeur de $cache_lifetime. Le cache de home.tpl expirera toujours
|
||||||
// dans 1 heure.
|
// dans 1 heure.
|
||||||
$smarty->cache_lifetime = 30; // 30 secondes
|
$smarty->cache_lifetime = 30; // 30 secondes
|
||||||
@@ -94,10 +94,10 @@ $smarty->display('home.tpl');</programlisting>
|
|||||||
<para>
|
<para>
|
||||||
Si <link linkend="variable.compile.check">$compile_check</link> est actif,
|
Si <link linkend="variable.compile.check">$compile_check</link> est actif,
|
||||||
chaque fichier de template et de configuration qui a un rapport
|
chaque fichier de template et de configuration qui a un rapport
|
||||||
avec le fichier de cache sera vTrifiT pour dTtecter une Tventuelle
|
avec le fichier de cache sera v<EFBFBD>rifi<EFBFBD> pour d<EFBFBD>tecter une Tventuelle
|
||||||
modification. Si l'un de ces fichiers a TtT modifiT depuis que le fichier de cache a TtT
|
modification. Si l'un de ces fichiers a Tt<EFBFBD> modifi<EFBFBD> depuis que le fichier de cache a Tt<EFBFBD>
|
||||||
gTnTrT, le cache est immTdiatement regTnTrT. Ce processus est covteux, donc,
|
g<EFBFBD>n<EFBFBD>r<EFBFBD>, le cache est imm<EFBFBD>diatement reg<EFBFBD>n<EFBFBD>r<EFBFBD>. Ce processus est covteux, donc,
|
||||||
pour des raisons de performances, mettez ce paramFtre a false pour une application
|
pour des raisons de performances, mettez ce param<EFBFBD>tre a false pour une application
|
||||||
en production.
|
en production.
|
||||||
</para>
|
</para>
|
||||||
<example>
|
<example>
|
||||||
@@ -113,16 +113,16 @@ $smarty->display('index.tpl');</programlisting>
|
|||||||
</example>
|
</example>
|
||||||
<para>
|
<para>
|
||||||
Si <link linkend="variable.force.compile">$force_compile</link> est actif,
|
Si <link linkend="variable.force.compile">$force_compile</link> est actif,
|
||||||
les fichiers de cache sont toujours regTnTrTs. Ceci revient finalement a
|
les fichiers de cache sont toujours reg<EFBFBD>n<EFBFBD>r<EFBFBD>s. Ceci revient finalement a
|
||||||
dTsactiver le cache. $force_compile est utilisT a des fins de dTbogage,
|
d<EFBFBD>sactiver le cache. $force_compile est utilis<EFBFBD> a des fins de d<EFBFBD>bogage,
|
||||||
un moyen plus efficace de dTsactiver le cache est de rTgler
|
un moyen plus efficace de d<EFBFBD>sactiver le cache est de r<EFBFBD>gler
|
||||||
<link linkend="variable.caching">$caching</link> = false (ou 0).
|
<link linkend="variable.caching">$caching</link> = false (ou 0).
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
La fonction <link linkend="api.is.cached">is_cached()</link> permet
|
La fonction <link linkend="api.is.cached">is_cached()</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 requOte
|
Si vous disposez d'un template en cache qui requiert une requ<EFBFBD>te
|
||||||
a une base de donnTes, vous pouvez utiliser cette mTthode plut(t
|
a une base de donn<EFBFBD>es, vous pouvez utiliser cette m<EFBFBD>thode plut(t
|
||||||
que $compile_check.
|
que $compile_check.
|
||||||
</para>
|
</para>
|
||||||
<example>
|
<example>
|
||||||
@@ -146,10 +146,10 @@ $smarty->display('index.tpl');</programlisting>
|
|||||||
page avec la fonction de templates <link
|
page avec la fonction de templates <link
|
||||||
linkend="language.function.insert">insert</link>.
|
linkend="language.function.insert">insert</link>.
|
||||||
Imaginons que toute une page doit Otre mise en cache a part
|
Imaginons que toute une page doit Otre mise en cache a part
|
||||||
une banniFre en bas a droite. En utilisant une fonction insert pour la
|
une banni<EFBFBD>re en bas a droite. En utilisant une fonction insert pour la
|
||||||
banniFre, vous pouvez garder cet TlTment dynamique dans le contenu qui
|
banni<EFBFBD>re, vous pouvez garder cet Tl<EFBFBD>ment dynamique dans le contenu qui
|
||||||
est en cache. Reportez-vous a la documentation
|
est en cache. Reportez-vous a la documentation
|
||||||
<link linkend="language.function.insert">insert</link> pour plus de dTtails
|
<link linkend="language.function.insert">insert</link> pour plus de d<EFBFBD>tails
|
||||||
et des exemples.
|
et des exemples.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
@@ -178,12 +178,12 @@ $smarty->display('index.tpl');</programlisting>
|
|||||||
<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 mOme appel
|
Vous pouvez avoir plusieurs fichiers de caches pour un m<EFBFBD>me appel
|
||||||
aux fonctions display() ou fetch(). Imaginons qu'un appel a display('index.tpl')
|
aux fonctions display() ou fetch(). Imaginons qu'un appel a display('index.tpl')
|
||||||
puisse avoir plusieurs rTsultats, en fonction de certaines conditions, et que
|
puisse avoir plusieurs r<EFBFBD>sultats, en fonction de certaines conditions, et que
|
||||||
vous vouliez des fichiers de cache sTparTs pour chacun d'eux. Vous
|
vous vouliez des fichiers de cache s<EFBFBD>par<EFBFBD>s pour chacun d'eux. Vous
|
||||||
pouvez faire cela en passant un identifiant de cache (cache_id) en
|
pouvez faire cela en passant un identifiant de cache (cache_id) en
|
||||||
deuxiFme paramFtre a l'appel de fonction.
|
deuxi<EFBFBD>me param<EFBFBD>tre a l'appel de fonction.
|
||||||
</para>
|
</para>
|
||||||
<example>
|
<example>
|
||||||
<title>Passage d'un cache_id a display()</title>
|
<title>Passage d'un cache_id a display()</title>
|
||||||
@@ -200,8 +200,8 @@ $smarty->display('index.tpl',$my_cache_id);</programlisting>
|
|||||||
<para>
|
<para>
|
||||||
Nous passons ci-dessus la variable $my_cache_id a display() comme
|
Nous passons ci-dessus la variable $my_cache_id a display() comme
|
||||||
identifiant de cache. Pour chaque valeur distincte de $my_cache_id,
|
identifiant de cache. Pour chaque valeur distincte de $my_cache_id,
|
||||||
un fichier de cache distinct va Otre crTT. Dans cet exemple,
|
un fichier de cache distinct va Otre cr<EFBFBD>T. Dans cet exemple,
|
||||||
"article_id" a TtT passT dans l'URL et est utilisT en tant qu'identifiant
|
"article_id" a Tt<EFBFBD> pass<EFBFBD> dans l'URL et est utilis<EFBFBD> en tant qu'identifiant
|
||||||
de cache.
|
de cache.
|
||||||
</para>
|
</para>
|
||||||
<note>
|
<note>
|
||||||
@@ -210,19 +210,19 @@ $smarty->display('index.tpl',$my_cache_id);</programlisting>
|
|||||||
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 a utiliser article_id depuis l'URL puisse paraetre
|
||||||
commode, le rTsultat peut s'avTrer mauvais. L'identifiant
|
commode, le r<EFBFBD>sultat peut s'av<EFBFBD>rer mauvais. L'identifiant
|
||||||
de cache est utilisT pour crTer un rTpertoire sur le systFme de fichiers,
|
de cache est utilis<EFBFBD> pour cr<EFBFBD>er un r<EFBFBD>pertoire sur le syst<EFBFBD>me de fichiers,
|
||||||
donc si l'utilisateur dTcide de donner une trFs grande valeur a article_id
|
donc si l'utilisateur d<EFBFBD>cide de donner une tr<EFBFBD>s grande valeur a article_id
|
||||||
ou d'Tcrire un script qui envoie des article_id de faton alTatoire,
|
ou d'Tcrire un script qui envoie des article_id de faton al<EFBFBD>atoire,
|
||||||
cela pourra causer des problFmes cotT serveur. Assurez-vous de bien
|
cela pourra causer des probl<EFBFBD>mes cot<EFBFBD> serveur. Assurez-vous de bien
|
||||||
tester toute donnTe passTe en paramFtre avant de l'utiliser. Dans cet
|
tester toute donn<EFBFBD>e pass<EFBFBD>e en param<EFBFBD>tre avant de l'utiliser. Dans cet
|
||||||
exemple, peut-Otre savez-vous que article_id a une longueur de 10
|
exemple, peut-Otre savez-vous que article_id a une longueur de 10
|
||||||
caractFres, est exclusivement composT de caractFres alph-numTriques et
|
caract<EFBFBD>res, est exclusivement compos<EFBFBD> de caract<EFBFBD>res alph-num<EFBFBD>riques et
|
||||||
doit avoir une valeur contenue dans la base de donnTes. VTrifiez-le bien !
|
doit avoir une valeur contenue dans la base de donn<EFBFBD>es. VTrifiez-le bien !
|
||||||
</para>
|
</para>
|
||||||
</note>
|
</note>
|
||||||
<para>
|
<para>
|
||||||
Assurez-vous de bien passer le mOme identifiant aux fonctions
|
Assurez-vous de bien passer le m<EFBFBD>me identifiant aux fonctions
|
||||||
<link linkend="api.is.cached">is_cached()</link> et
|
<link linkend="api.is.cached">is_cached()</link> et
|
||||||
<link linkend="api.clear.cache">clear_cache()</link>.
|
<link linkend="api.clear.cache">clear_cache()</link>.
|
||||||
</para>
|
</para>
|
||||||
@@ -246,7 +246,7 @@ $smarty->display('index.tpl',$my_cache_id);</programlisting>
|
|||||||
</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 paramFtre
|
de cache particulier en passant null en tant que premier param<EFBFBD>tre
|
||||||
a clear_cache().
|
a clear_cache().
|
||||||
</para>
|
</para>
|
||||||
<example>
|
<example>
|
||||||
@@ -263,17 +263,17 @@ $smarty->clear_cache(null,"sports");
|
|||||||
$smarty->display('index.tpl',"sports");</programlisting>
|
$smarty->display('index.tpl',"sports");</programlisting>
|
||||||
</example>
|
</example>
|
||||||
<para>
|
<para>
|
||||||
De cette maniFre vous pouvez "grouper" vos fichiers de cache en leur
|
De cette mani<EFBFBD>re vous pouvez "grouper" vos fichiers de cache en leur
|
||||||
donnant le mOme identifiant.
|
donnant le m<EFBFBD>me identifiant.
|
||||||
</para>
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
<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 TlaborTs en paramTtrant les
|
Vous pouvez faire des groupements plus Tlabor<EFBFBD>s en param<EFBFBD>trant les
|
||||||
groupes d'identifiant de cache. Il suffit de sTparer chaque sous-groupes
|
groupes d'identifiant de cache. Il suffit de s<EFBFBD>parer chaque sous-groupes
|
||||||
avec une barre verticale "|" dans la valeur de l'identifiant de cache.
|
avec une barre verticale "|" dans la valeur de l'identifiant de cache.
|
||||||
Vous pouvez faire autant de sous-groupes que vous le dTsirez.
|
Vous pouvez faire autant de sous-groupes que vous le d<EFBFBD>sirez.
|
||||||
</para>
|
</para>
|
||||||
<example>
|
<example>
|
||||||
<title>groupes d'identifiants de cache</title>
|
<title>groupes d'identifiants de cache</title>
|
||||||
@@ -296,11 +296,11 @@ $smarty->display('index.tpl',"sports|basketball");</programlisting>
|
|||||||
<note>
|
<note>
|
||||||
<title>Note technique</title>
|
<title>Note technique</title>
|
||||||
<para>
|
<para>
|
||||||
Le systFme de cache n'utilise PAS le chemin vers le template en quoi
|
Le syst<EFBFBD>me de cache n'utilise PAS le chemin vers le template en quoi
|
||||||
que ce soit pour l'identifiant de cache. Si par exemple vous
|
que ce soit pour l'identifiant de cache. Si par exemple vous
|
||||||
faites display('themes/blue/index.tpl'), vous ne pouvez pas effacer tous
|
faites display('themes/blue/index.tpl'), vous ne pouvez pas effacer tous
|
||||||
les fichiers de cache dans le rTpertoire "theme/blue". Si vous voulez
|
les fichiers de cache dans le r<EFBFBD>pertoire "theme/blue". Si vous voulez
|
||||||
faire cela, vous devez les grouper avec un mOme identifiant de cache,
|
faire cela, vous devez les grouper avec un m<EFBFBD>me identifiant de cache,
|
||||||
display('themes/blue/index.tpl','themes|blue'). Vous pouvez ensuite effacer les
|
display('themes/blue/index.tpl','themes|blue'). Vous pouvez ensuite effacer les
|
||||||
fichiers de cache pour blue et theme avec clear_cache(null,'theme|blue').
|
fichiers de cache pour blue et theme avec clear_cache(null,'theme|blue').
|
||||||
</para>
|
</para>
|
||||||
@@ -326,4 +326,4 @@ End:
|
|||||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||||
vim: et tw=78 syn=sgml
|
vim: et tw=78 syn=sgml
|
||||||
vi: ts=1 sw=1
|
vi: ts=1 sw=1
|
||||||
-->
|
-->
|
||||||
|
@@ -4,48 +4,48 @@
|
|||||||
<title>Etendre Smarty avec des plugins</title>
|
<title>Etendre Smarty avec des plugins</title>
|
||||||
<para>
|
<para>
|
||||||
La version 2.0 a introduit l'architecture de plugin qui est
|
La version 2.0 a introduit l'architecture de plugin qui est
|
||||||
utilisTe pour pratiquement toute les fonctionnalitTs
|
utilis<EFBFBD>e pour pratiquement toute les fonctionnalit<EFBFBD>s
|
||||||
personnalisables de Smarty. Ceci comprend :
|
personnalisables de Smarty. Ceci comprend :
|
||||||
<itemizedlist spacing="compact">
|
<itemizedlist spacing="compact">
|
||||||
<listitem><simpara>les fonctions</simpara></listitem>
|
<listitem><simpara>les fonctions</simpara></listitem>
|
||||||
<listitem><simpara>les modificateurs</simpara></listitem>
|
<listitem><simpara>les modificateurs</simpara></listitem>
|
||||||
<listitem><simpara>les fonctions de blocs</simpara></listitem>
|
<listitem><simpara>les fonctions de blocs</simpara></listitem>
|
||||||
<listitem><simpara>les fonctions de compilation</simpara></listitem>
|
<listitem><simpara>les fonctions de compilation</simpara></listitem>
|
||||||
<listitem><simpara>les filtres de prT-compilation</simpara></listitem>
|
<listitem><simpara>les filtres de pr<EFBFBD>-compilation</simpara></listitem>
|
||||||
<listitem><simpara>les filtres de post-compilation</simpara></listitem>
|
<listitem><simpara>les filtres de post-compilation</simpara></listitem>
|
||||||
<listitem><simpara>les filtres de sorties</simpara></listitem>
|
<listitem><simpara>les filtres de sorties</simpara></listitem>
|
||||||
<listitem><simpara>les ressources</simpara></listitem>
|
<listitem><simpara>les ressources</simpara></listitem>
|
||||||
<listitem><simpara>les insertions</simpara></listitem>
|
<listitem><simpara>les insertions</simpara></listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
A part pour les ressources, la compatibilitT avec les anciennes
|
A part pour les ressources, la compatibilit<EFBFBD> avec les anciennes
|
||||||
fatons d'enregistrer les fonctions de gestion avec l'API register_
|
fatons d'enregistrer les fonctions de gestion avec l'API register_
|
||||||
est conservTe. Si vous n'avez pas utilisT cette API et que vous avez
|
est conserv<EFBFBD>e. Si vous n'avez pas utilis<EFBFBD> cette API et que vous avez
|
||||||
a la place directement modifiT les variables de classes
|
a la place directement modifi<EFBFBD> les variables de classes
|
||||||
<literal>$custom_funcs</literal>, <literal>$custom_mods</literal> et
|
<literal>$custom_funcs</literal>, <literal>$custom_mods</literal> et
|
||||||
d'autres, vous devez alors modifier vos scripts pour utiliser
|
d'autres, vous devez alors modifier vos scripts pour utiliser
|
||||||
l'API ou convertir vos fonctionnalitTs personnalisTes en plugins.
|
l'API ou convertir vos fonctionnalit<EFBFBD>s personnalis<EFBFBD>es en plugins.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<sect1>
|
<sect1>
|
||||||
<title>Comment fonctionnent les plugins</title>
|
<title>Comment fonctionnent les plugins</title>
|
||||||
<para>
|
<para>
|
||||||
Les plugins sont toujours chargTs a la demande. Seuls les modificateurs
|
Les plugins sont toujours charg<EFBFBD>s a la demande. Seuls les modificateurs
|
||||||
de variables, les ressources, etc invoquTs dans les scripts de templates
|
de variables, les ressources, etc invoqu<EFBFBD>s dans les scripts de templates
|
||||||
seront chargTs. De plus, chaque plugin n'est chargT qu'une fois, et ce
|
seront charg<EFBFBD>s. De plus, chaque plugin n'est charg<EFBFBD> qu'une fois, et ce
|
||||||
mOme si vous avez plusieurs instances de Smarty qui tournent dans
|
m<EFBFBD>me si vous avez plusieurs instances de Smarty qui tournent dans
|
||||||
la mOme requOte.
|
la m<EFBFBD>me requ<EFBFBD>te.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Les filtres de post/prT-compilation et les filtres de sortie sont des cas
|
Les filtres de post/pr<EFBFBD>-compilation et les filtres de sortie sont des cas
|
||||||
un peu spTciaux.
|
un peu sp<EFBFBD>ciaux.
|
||||||
Comme ils ne sont pas mentionnTs dans les templates, ils doivent Otre dTclarTs
|
Comme ils ne sont pas mentionn<EFBFBD>s dans les templates, ils doivent Otre d<EFBFBD>clar<EFBFBD>s
|
||||||
ou chargTs explicitement via les fonctions de l'API avant que le template
|
ou charg<EFBFBD>s explicitement via les fonctions de l'API avant que le template
|
||||||
ne soit exTcutT. L'ordre dans lequel les filtres multiples d'un mOme type
|
ne soit ex<EFBFBD>cut<EFBFBD>. L'ordre dans lequel les filtres multiples d'un m<EFBFBD>me type
|
||||||
sont exTcutTs dTpend de l'ordre dans lequel ils sont enregistrTs ou chargTs.
|
sont ex<EFBFBD>cut<EFBFBD>s d<EFBFBD>pend de l'ordre dans lequel ils sont enregistr<EFBFBD>s ou charg<EFBFBD>s.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Il n'existe qu'un seul rTpertoire de plugin (pour des raisons de performances).
|
Il n'existe qu'un seul r<EFBFBD>pertoire de plugin (pour des raisons de performances).
|
||||||
Pour installer un plugin, copiez-le simplement dans le rTpertoire et Smarty
|
Pour installer un plugin, copiez-le simplement dans le r<EFBFBD>pertoire et Smarty
|
||||||
l'utilisera automatiquement.
|
l'utilisera automatiquement.
|
||||||
</para>
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
@@ -54,10 +54,10 @@
|
|||||||
<title>Conventions de nommage</title>
|
<title>Conventions de nommage</title>
|
||||||
<para>
|
<para>
|
||||||
Les fichiers et les fonctions de plugins doivent suivre une convention
|
Les fichiers et les fonctions de plugins doivent suivre une convention
|
||||||
de nommage trFs spTcifique pour Otre localisTs par Smarty.
|
de nommage tr<EFBFBD>s sp<EFBFBD>cifique pour Otre localis<EFBFBD>s par Smarty.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Les fichiers de plugins doivent Otre nommTs de la faton suivante :
|
Les fichiers de plugins doivent Otre nomm<EFBFBD>s de la faton suivante :
|
||||||
<blockquote>
|
<blockquote>
|
||||||
<para>
|
<para>
|
||||||
<filename>
|
<filename>
|
||||||
@@ -91,7 +91,7 @@
|
|||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Les fonctions de plugins dans les fichiers de plugins doivent Otre
|
Les fonctions de plugins dans les fichiers de plugins doivent Otre
|
||||||
nommTes de la faton suivante :
|
nomm<EFBFBD>es de la faton suivante :
|
||||||
<blockquote>
|
<blockquote>
|
||||||
<para>
|
<para>
|
||||||
<function>smarty_<replaceable>type</replaceable>_<replaceable>nom</replaceable></function>
|
<function>smarty_<replaceable>type</replaceable>_<replaceable>nom</replaceable></function>
|
||||||
@@ -99,40 +99,40 @@
|
|||||||
</blockquote>
|
</blockquote>
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Les significations de <literal>type</literal> et de <literal>nom</literal> sont les mOmes
|
Les significations de <literal>type</literal> et de <literal>nom</literal> sont les m<EFBFBD>mes
|
||||||
que prTcTdemment.
|
que pr<EFBFBD>c<EFBFBD>demment.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Smarty donnera des messages d'erreur appropriT si le fichier de plugin
|
Smarty donnera des messages d'erreur appropri<EFBFBD> si le fichier de plugin
|
||||||
n'est pas trouvT, ou si le fichier ou la fonction de plugin ne sont
|
n'est pas trouv<EFBFBD>, ou si le fichier ou la fonction de plugin ne sont
|
||||||
pas nommTs correctement.
|
pas nomm<EFBFBD>s correctement.
|
||||||
</para>
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
|
|
||||||
<sect1 id="plugins.writing">
|
<sect1 id="plugins.writing">
|
||||||
<title>Ecrire des plugins</title>
|
<title>Ecrire des plugins</title>
|
||||||
<para>
|
<para>
|
||||||
Les plugins peuvent Otre soit chargTs automatiquement par Smarty
|
Les plugins peuvent Otre soit charg<EFBFBD>s automatiquement par Smarty
|
||||||
depuis le systFme de fichier, soit Otre dTclarTs
|
depuis le syst<EFBFBD>me de fichier, soit Otre d<EFBFBD>clar<EFBFBD>s
|
||||||
pendant l'exTcution via une fonction register_* de l'API. Ils peuvent
|
pendant l'ex<EFBFBD>cution via une fonction register_* de l'API. Ils peuvent
|
||||||
aussi Otre dTsallouTs en utilisant une fonction unregister_* de
|
aussi Otre d<EFBFBD>sallou<EFBFBD>s en utilisant une fonction unregister_* de
|
||||||
l'API.
|
l'API.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Pour les plugins qui ne sont pas enregistrTs pendant l'exTcution, le nom
|
Pour les plugins qui ne sont pas enregistr<EFBFBD>s pendant l'ex<EFBFBD>cution, le nom
|
||||||
des fonctions n'ont pas a suivre la convention de nommage.
|
des fonctions n'ont pas a suivre la convention de nommage.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Si certaines fonctionnalitTs d'un plugin dTpendent d'un autre plugin
|
Si certaines fonctionnalit<EFBFBD>s d'un plugin d<EFBFBD>pendent d'un autre plugin
|
||||||
(comme c'est le cas de certains plugins accompagnant Smarty), alors la maniFre appropriTe
|
(comme c'est le cas de certains plugins accompagnant Smarty), alors la mani<EFBFBD>re appropri<EFBFBD>e
|
||||||
de charger le plugin est la suivante :
|
de charger le plugin est la suivante :
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<programlisting>
|
<programlisting>
|
||||||
require_once SMARTY_DIR . 'plugins/function.html_options.php';</programlisting>
|
require_once SMARTY_DIR . 'plugins/function.html_options.php';</programlisting>
|
||||||
<para>
|
<para>
|
||||||
Une rFgle gTnTrale est que chaque objet Smarty est toujours passT au plugin
|
Une r<EFBFBD>gle g<EFBFBD>n<EFBFBD>rale est que chaque objet Smarty est toujours pass<EFBFBD> au plugin
|
||||||
en tant que dernier paramFtre (a part pour les modificateurs).
|
en tant que dernier param<EFBFBD>tre (a part pour les modificateurs).
|
||||||
</para>
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
|
|
||||||
@@ -145,26 +145,26 @@ require_once SMARTY_DIR . 'plugins/function.html_options.php';</programlisting>
|
|||||||
</funcprototype>
|
</funcprototype>
|
||||||
</funcsynopsis>
|
</funcsynopsis>
|
||||||
<para>
|
<para>
|
||||||
Tous les attributs passTs aux fonctions de template a partir du template
|
Tous les attributs pass<EFBFBD>s aux fonctions de template a partir du template
|
||||||
sont contenus dans le tableau associatif <parameter>$params</parameter>.
|
sont contenus dans le tableau associatif <parameter>$params</parameter>.
|
||||||
Vous pouvez accTder a ces valeurs soit directement, par exemple
|
Vous pouvez acc<EFBFBD>der a ces valeurs soit directement, par exemple
|
||||||
<varname>$params['start']</varname>, soit en utilisant
|
<varname>$params['start']</varname>, soit en utilisant
|
||||||
<varname>extract($params)</varname> pour les importer dans la table
|
<varname>extract($params)</varname> pour les importer dans la table
|
||||||
des symboles.
|
des symboles.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Le retour de la fonction sera substituTe a la balise de fonction
|
Le retour de la fonction sera substitu<EFBFBD>e a la balise de fonction
|
||||||
du template (fonction <function>fetch</function> par exemple). Sinon,
|
du template (fonction <function>fetch</function> par exemple). Sinon,
|
||||||
la fonction peut simplement accomplir une autre tGche sans sortie
|
la fonction peut simplement accomplir une autre tGche sans sortie
|
||||||
(la fonction <function>assign</function> par exemple)
|
(la fonction <function>assign</function> 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 fonctionnalitTs fournies par Smarty, elle peut recevoir un
|
d'autres fonctionnalit<EFBFBD>s fournies par Smarty, elle peut recevoir un
|
||||||
objet <parameter>$smarty</parameter> pour cela.
|
objet <parameter>$smarty</parameter> pour cela.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
RTfTrez-vous aussi a :
|
RTf<EFBFBD>rez-vous aussi a :
|
||||||
<link linkend="api.register.function">register_function()</link>,
|
<link linkend="api.register.function">register_function()</link>,
|
||||||
<link linkend="api.unregister.function">unregister_function()</link>.
|
<link linkend="api.unregister.function">unregister_function()</link>.
|
||||||
</para>
|
</para>
|
||||||
@@ -198,7 +198,7 @@ function smarty_function_eightball($params, &$smarty)
|
|||||||
</example>
|
</example>
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
peut Otre utilisTe dans le template de la faton suivante :
|
peut Otre utilis<EFBFBD>e dans le template de la faton suivante :
|
||||||
</para>
|
</para>
|
||||||
<programlisting>
|
<programlisting>
|
||||||
Question: Will we ever have time travel?
|
Question: Will we ever have time travel?
|
||||||
@@ -240,9 +240,9 @@ function smarty_function_assign($params, &$smarty)
|
|||||||
|
|
||||||
<sect1 id="plugins.modifiers"><title>Modificateurs</title>
|
<sect1 id="plugins.modifiers"><title>Modificateurs</title>
|
||||||
<para>
|
<para>
|
||||||
Les modificateurs sont des petites fonctions appliquTes a une variable
|
Les modificateurs sont des petites fonctions appliqu<EFBFBD>es a une variable
|
||||||
de template avant qu'elle ne soit affichTe ou utilisTe dans un autre contexte.
|
de template avant qu'elle ne soit affich<EFBFBD>e ou utilis<EFBFBD>e dans un autre contexte.
|
||||||
Les modificateurs peuvent Otre chaenTs entre eux.
|
Les modificateurs peuvent Otre chaen<EFBFBD>s entre eux.
|
||||||
</para>
|
</para>
|
||||||
<funcsynopsis>
|
<funcsynopsis>
|
||||||
<funcprototype>
|
<funcprototype>
|
||||||
@@ -252,13 +252,13 @@ function smarty_function_assign($params, &$smarty)
|
|||||||
</funcprototype>
|
</funcprototype>
|
||||||
</funcsynopsis>
|
</funcsynopsis>
|
||||||
<para>
|
<para>
|
||||||
Le premier paramFtre passT au modificateur est la valeur
|
Le premier param<EFBFBD>tre pass<EFBFBD> au modificateur est la valeur
|
||||||
sur laquelle le modificateur est supposT opTrer. Les autres paramFtres
|
sur laquelle le modificateur est suppos<EFBFBD> op<EFBFBD>rer. Les autres param<EFBFBD>tres
|
||||||
peuvent Otre optionnels, dTpendant de quel genre d'opTration doit Otre
|
peuvent Otre optionnels, d<EFBFBD>pendant de quel genre d'op<EFBFBD>ration doit Otre
|
||||||
effectuT.
|
effectu<EFBFBD>.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Le modificateur doit retourner le rTsultat de son exTcution.
|
Le modificateur doit retourner le r<EFBFBD>sultat de son ex<EFBFBD>cution.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Regardez aussi
|
Regardez aussi
|
||||||
@@ -268,8 +268,8 @@ function smarty_function_assign($params, &$smarty)
|
|||||||
<example>
|
<example>
|
||||||
<title>plugin modificateur simple</title>
|
<title>plugin modificateur simple</title>
|
||||||
<para>
|
<para>
|
||||||
Ce plugin est un alias d'une fonction PHP. Il n'a aucun paramFtre
|
Ce plugin est un alias d'une fonction PHP. Il n'a aucun param<EFBFBD>tre
|
||||||
supplTmentaires.
|
suppl<EFBFBD>mentaires.
|
||||||
</para>
|
</para>
|
||||||
<programlisting>
|
<programlisting>
|
||||||
<?php
|
<?php
|
||||||
@@ -300,7 +300,7 @@ function smarty_modifier_capitalize($string)
|
|||||||
* Type : modificateur
|
* Type : modificateur
|
||||||
* Name : truncate
|
* Name : truncate
|
||||||
* R(le : Tronque une chaene a une certaine longueur si
|
* R(le : Tronque une chaene a une certaine longueur si
|
||||||
* nTcessaire, la coupe optionnellement au milieu
|
* n<EFBFBD>cessaire, la coupe optionnellement au milieu
|
||||||
* d'un mot et ajoute la chaene $etc
|
* d'un mot et ajoute la chaene $etc
|
||||||
* -------------------------------------------------------------
|
* -------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@@ -336,38 +336,38 @@ function smarty_modifier_truncate($string, $length = 80, $etc = '...',
|
|||||||
</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 {func} .. {/func}.
|
||||||
En d'autres mots, elles englobent des blocs de template et opFrent sur les
|
En d'autres mots, elles englobent des blocs de template et op<EFBFBD>rent sur les
|
||||||
contenus de ces blocs. Les fonctions de blocs ont la prioritT sur les
|
contenus de ces blocs. Les fonctions de blocs ont la priorit<EFBFBD> sur les
|
||||||
fonctions utilisateurs de mOme nom, ce qui signifie que vous ne
|
fonctions utilisateurs de m<EFBFBD>me nom, ce qui signifie que vous ne
|
||||||
pouvez avoir une fonction utilisateur {func} et une fonction de bloc
|
pouvez avoir une fonction utilisateur {func} et une fonction de bloc
|
||||||
{func} .. {/func}.
|
{func} .. {/func}.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
L'implTmentation de votre fonction est appelTe deux fois par Smarty :
|
L'impl<EFBFBD>mentation de votre fonction est appel<EFBFBD>e deux fois par Smarty :
|
||||||
une fois pour la balise ouvrante et une autre fois pour la balise
|
une fois pour la balise ouvrante et une autre fois pour la balise
|
||||||
fermante.
|
fermante.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Seule la balise ouvrante d'une fonction de bloc peut avoir des attributs.
|
Seule la balise ouvrante d'une fonction de bloc peut avoir des attributs.
|
||||||
Tous les attributs passTs par le template aux fonctions de templates sont
|
Tous les attributs pass<EFBFBD>s par le template aux fonctions de templates sont
|
||||||
contenues dans le tableau associatif <parameter>$params</parameter>.
|
contenues dans le tableau associatif <parameter>$params</parameter>.
|
||||||
Vous pouvez accTder a ces valeurs soit directement, par exemple
|
Vous pouvez acc<EFBFBD>der a ces valeurs soit directement, par exemple
|
||||||
<varname>$params['start']</varname>, soit en utilisant
|
<varname>$params['start']</varname>, soit en utilisant
|
||||||
<varname>extract($params)</varname> pour les importer dans la table
|
<varname>extract($params)</varname> pour les importer dans la table
|
||||||
des symboles. Votre fonction a aussi accFs aux attributs de la balise
|
des symboles. Votre fonction a aussi acc<EFBFBD>s aux attributs de la balise
|
||||||
ouvrante quand c'est la balise fermante qui est exTcutTe.
|
ouvrante quand c'est la balise fermante qui est ex<EFBFBD>cut<EFBFBD>e.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
La valeur de la variable <parameter>$content</parameter> est diffTrente
|
La valeur de la variable <parameter>$content</parameter> est diff<EFBFBD>rente
|
||||||
selon si votre fonction est appelTe pour la balise ouvrante ou la
|
selon si votre fonction est appel<EFBFBD>e pour la balise ouvrante ou la
|
||||||
balise fermante. Si c'est pour la balise ouvrante, elle sera a
|
balise fermante. Si c'est pour la balise ouvrante, elle sera a
|
||||||
<literal>null</literal> et si c'est la balise fermante elle sera
|
<literal>null</literal> et si c'est la balise fermante elle sera
|
||||||
Tgale au contenu du bloc de template. Notez que le bloc de template
|
Tgale au contenu du bloc de template. Notez que le bloc de template
|
||||||
aura dTja TtT exTcutT par Smarty, vous recevrez donc la sortie du
|
aura d<EFBFBD>ja Tt<EFBFBD> ex<EFBFBD>cut<EFBFBD> par Smarty, vous recevrez donc la sortie du
|
||||||
template et non sa source.
|
template et non sa source.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Si vous imbriquT des fonctions de bloc, il est possible de connaetre
|
Si vous imbriqu<EFBFBD> des fonctions de bloc, il est possible de connaetre
|
||||||
la fonction de bloc parente grGce a la variable <varname>$smarty->_tag_stack</varname>.
|
la fonction de bloc parente grGce a la variable <varname>$smarty->_tag_stack</varname>.
|
||||||
Faites un var_dump() dessus et la structure devrait apparaetre.
|
Faites un var_dump() dessus et la structure devrait apparaetre.
|
||||||
</para>
|
</para>
|
||||||
@@ -402,11 +402,11 @@ function smarty_block_translate($params, $content, &$smarty)
|
|||||||
|
|
||||||
<sect1 id="plugins.compiler.functions"><title>Fonctions de compilation</title>
|
<sect1 id="plugins.compiler.functions"><title>Fonctions de compilation</title>
|
||||||
<para>
|
<para>
|
||||||
Les fonctions de compilation sont appelTes durant la compilation du template.
|
Les fonctions de compilation sont appel<EFBFBD>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 personnalisTe ont le mOme
|
une fonction personnalis<EFBFBD>e ont le m<EFBFBD>me
|
||||||
nom, la fonction de compilation a prioritT.
|
nom, la fonction de compilation a priorit<EFBFBD>.
|
||||||
</para>
|
</para>
|
||||||
<funcsynopsis>
|
<funcsynopsis>
|
||||||
<funcprototype>
|
<funcprototype>
|
||||||
@@ -416,10 +416,10 @@ function smarty_block_translate($params, $content, &$smarty)
|
|||||||
</funcprototype>
|
</funcprototype>
|
||||||
</funcsynopsis>
|
</funcsynopsis>
|
||||||
<para>
|
<para>
|
||||||
Les fonctions de compilation ont deux paramFtres : une chaene contenant
|
Les fonctions de compilation ont deux param<EFBFBD>tres : une chaene contenant
|
||||||
la balise - en gros, tout, depuis le nom de la fonction jusqu'au dTlimiteur de fin - et
|
la balise - en gros, tout, depuis le nom de la fonction jusqu'au d<EFBFBD>limiteur de fin - et
|
||||||
l'objet Smarty. Elles sont censTes retourner le code PHP qui doit Otre
|
l'objet Smarty. Elles sont cens<EFBFBD>es retourner le code PHP qui doit Otre
|
||||||
injectT dans le template compilT.
|
inject<EFBFBD> dans le template compil<EFBFBD>.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Regardez aussi
|
Regardez aussi
|
||||||
@@ -436,7 +436,7 @@ function smarty_block_translate($params, $content, &$smarty)
|
|||||||
* Fichier : compiler.tplheader.php
|
* Fichier : compiler.tplheader.php
|
||||||
* Type : compilation
|
* Type : compilation
|
||||||
* Nom : tplheader
|
* Nom : tplheader
|
||||||
* R(le : Renvoie l'en-tOte contenant le nom du fichier
|
* R(le : Renvoie l'en-t<EFBFBD>te contenant le nom du fichier
|
||||||
* source et le temps de compilation.
|
* source et le temps de compilation.
|
||||||
* -------------------------------------------------------------
|
* -------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@@ -446,13 +446,13 @@ function smarty_compiler_tplheader($tag_arg, &$smarty)
|
|||||||
}
|
}
|
||||||
?></programlisting>
|
?></programlisting>
|
||||||
<para>
|
<para>
|
||||||
Cette fonction peut-Otre appelT depuis le template comme suivant :
|
Cette fonction peut-Otre appel<EFBFBD> depuis le template comme suivant :
|
||||||
</para>
|
</para>
|
||||||
<programlisting>
|
<programlisting>
|
||||||
{* cette fonction n'est executTe que lors de la compilation *}
|
{* cette fonction n'est execut<EFBFBD>e que lors de la compilation *}
|
||||||
{tplheader}</programlisting>
|
{tplheader}</programlisting>
|
||||||
<para>
|
<para>
|
||||||
Le code PHP rTsultant dans les templates compilTs ressemblerait a ta :
|
Le code PHP r<EFBFBD>sultant dans les templates compil<EFBFBD>s ressemblerait a ta :
|
||||||
</para>
|
</para>
|
||||||
<programlisting>
|
<programlisting>
|
||||||
<php
|
<php
|
||||||
@@ -462,11 +462,11 @@ echo 'index.tpl compiled at 2002-02-20 20:02';
|
|||||||
</sect1>
|
</sect1>
|
||||||
|
|
||||||
<sect1 id="plugins.prefilters.postfilters">
|
<sect1 id="plugins.prefilters.postfilters">
|
||||||
<title>filtres de prT-compilation/filtres de post-compilation</title>
|
<title>filtres de pr<EFBFBD>-compilation/filtres de post-compilation</title>
|
||||||
<para>
|
<para>
|
||||||
Les filtres de prT-compilation et les filtres de post-compilation ont des concepts trFs
|
Les filtres de pr<EFBFBD>-compilation et les filtres de post-compilation ont des concepts tr<EFBFBD>s
|
||||||
proches. Ils diffTrent dans leur exTcution, plus prTcisTment dans le
|
proches. Ils diff<EFBFBD>rent dans leur ex<EFBFBD>cution, plus pr<EFBFBD>cis<EFBFBD>ment dans le
|
||||||
moment o<> ils sont exTcutTs.
|
moment o<> ils sont ex<EFBFBD>cut<EFBFBD>s.
|
||||||
</para>
|
</para>
|
||||||
<funcsynopsis>
|
<funcsynopsis>
|
||||||
<funcprototype>
|
<funcprototype>
|
||||||
@@ -476,12 +476,12 @@ echo 'index.tpl compiled at 2002-02-20 20:02';
|
|||||||
</funcprototype>
|
</funcprototype>
|
||||||
</funcsynopsis>
|
</funcsynopsis>
|
||||||
<para>
|
<para>
|
||||||
Les filtres de prT-compilation sont utilisTs pour transformer la source d'un template
|
Les filtres de pr<EFBFBD>-compilation sont utilis<EFBFBD>s pour transformer la source d'un template
|
||||||
juste avant la compilation. Le premier paramFtre passT a la fonction
|
juste avant la compilation. Le premier param<EFBFBD>tre pass<EFBFBD> a la fonction
|
||||||
de filtre de prT-compilation est la source du template, Tventuellement modifiTe par
|
de filtre de pr<EFBFBD>-compilation est la source du template, Tventuellement modifi<EFBFBD>e par
|
||||||
d'autres filtre de prT-compilations. Le plugin est supposT retourner la source modifiTe.
|
d'autres filtre de pr<EFBFBD>-compilations. Le plugin est suppos<EFBFBD> retourner la source modifi<EFBFBD>e.
|
||||||
Notez que cette source n'est sauvegardTe nulle part, elle est seulement
|
Notez que cette source n'est sauvegard<EFBFBD>e nulle part, elle est seulement
|
||||||
utilisT pour la compilation.
|
utilis<EFBFBD> pour la compilation.
|
||||||
</para>
|
</para>
|
||||||
<funcsynopsis>
|
<funcsynopsis>
|
||||||
<funcprototype>
|
<funcprototype>
|
||||||
@@ -491,12 +491,12 @@ echo 'index.tpl compiled at 2002-02-20 20:02';
|
|||||||
</funcprototype>
|
</funcprototype>
|
||||||
</funcsynopsis>
|
</funcsynopsis>
|
||||||
<para>
|
<para>
|
||||||
Les filtres de post-compilation sont utilisTs pour modifier la sortie du template
|
Les filtres de post-compilation sont utilis<EFBFBD>s pour modifier la sortie du template
|
||||||
(le code PHP) juste aprFs que la compilation a TtT faite mais juste
|
(le code PHP) juste apr<EFBFBD>s que la compilation a Tt<EFBFBD> faite mais juste
|
||||||
avant que le template ne soit sauvegardT sur le systFme de fichiers.
|
avant que le template ne soit sauvegard<EFBFBD> sur le syst<EFBFBD>me de fichiers.
|
||||||
Le premier paramFtre passT a la fonction de filtre de post-compilation est le code
|
Le premier param<EFBFBD>tre pass<EFBFBD> a la fonction de filtre de post-compilation est le code
|
||||||
du template compilT, Tventuellement dTja modifiT par d'autres filtre de post-compilations.
|
du template compil<EFBFBD>, Tventuellement d<EFBFBD>ja modifi<EFBFBD> par d'autres filtre de post-compilations.
|
||||||
Le plugin est censT retourner la version modifiT du code.
|
Le plugin est cens<EFBFBD> retourner la version modifi<EFBFBD> du code.
|
||||||
</para>
|
</para>
|
||||||
<example>
|
<example>
|
||||||
<title>plugin de filtre de post-compilation</title>
|
<title>plugin de filtre de post-compilation</title>
|
||||||
@@ -506,7 +506,7 @@ echo 'index.tpl compiled at 2002-02-20 20:02';
|
|||||||
* Smarty plugin
|
* Smarty plugin
|
||||||
* -------------------------------------------------------------
|
* -------------------------------------------------------------
|
||||||
* Fichier : prefilter.pre01.php
|
* Fichier : prefilter.pre01.php
|
||||||
* Type : filtre de prT-compilation
|
* Type : filtre de pr<EFBFBD>-compilation
|
||||||
* Nom : pre01
|
* Nom : pre01
|
||||||
* R(le : Passe les balises HTML en minuscules.
|
* R(le : Passe les balises HTML en minuscules.
|
||||||
* -------------------------------------------------------------
|
* -------------------------------------------------------------
|
||||||
@@ -543,9 +543,9 @@ echo 'index.tpl compiled at 2002-02-20 20:02';
|
|||||||
|
|
||||||
<sect1 id="plugins.outputfilters"><title>Filtres de sortie</title>
|
<sect1 id="plugins.outputfilters"><title>Filtres de sortie</title>
|
||||||
<para>
|
<para>
|
||||||
Les plugins de filtres de sortie opFrent sur la sortie du template,
|
Les plugins de filtres de sortie op<EFBFBD>rent sur la sortie du template,
|
||||||
aprFs que le template a TtT chargT et exTcutT, mais avant que
|
apr<EFBFBD>s que le template a Tt<EFBFBD> charg<EFBFBD> et ex<EFBFBD>cut<EFBFBD>, mais avant que
|
||||||
la sortie ne soit affichTe.
|
la sortie ne soit affich<EFBFBD>e.
|
||||||
</para>
|
</para>
|
||||||
<funcsynopsis>
|
<funcsynopsis>
|
||||||
<funcprototype>
|
<funcprototype>
|
||||||
@@ -555,10 +555,10 @@ echo 'index.tpl compiled at 2002-02-20 20:02';
|
|||||||
</funcprototype>
|
</funcprototype>
|
||||||
</funcsynopsis>
|
</funcsynopsis>
|
||||||
<para>
|
<para>
|
||||||
Le premier paramFtre passT a la fonction du filtre de sortie est la
|
Le premier param<EFBFBD>tre pass<EFBFBD> a la fonction du filtre de sortie est la
|
||||||
sortie du template qui doit Otre modifiTe et le second paramFtre
|
sortie du template qui doit Otre modifi<EFBFBD>e et le second param<EFBFBD>tre
|
||||||
est l'instance de Smarty appelant le plugin. Le plugin est supposT
|
est l'instance de Smarty appelant le plugin. Le plugin est suppos<EFBFBD>
|
||||||
faire un traitement et en retourner le rTsultat.
|
faire un traitement et en retourner le r<EFBFBD>sultat.
|
||||||
</para>
|
</para>
|
||||||
<example>
|
<example>
|
||||||
<title>plugin de filtre de sortie</title>
|
<title>plugin de filtre de sortie</title>
|
||||||
@@ -569,7 +569,7 @@ echo 'index.tpl compiled at 2002-02-20 20:02';
|
|||||||
* Fichier : outputfilter.protect_email.php
|
* Fichier : outputfilter.protect_email.php
|
||||||
* Type : filtre de sortie
|
* Type : filtre de sortie
|
||||||
* Nom : protect_email
|
* Nom : protect_email
|
||||||
* R(le: Convertie les @ en %40 pour protTger des
|
* R(le: Convertie les @ en %40 pour prot<EFBFBD>ger des
|
||||||
* robots spammers.
|
* robots spammers.
|
||||||
* -------------------------------------------------------------
|
* -------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@@ -584,16 +584,16 @@ echo 'index.tpl compiled at 2002-02-20 20:02';
|
|||||||
|
|
||||||
<sect1 id="plugins.resources"><title>Ressources</title>
|
<sect1 id="plugins.resources"><title>Ressources</title>
|
||||||
<para>
|
<para>
|
||||||
Les plugins ressources sont un moyen gTnTrique de fournir des sources
|
Les plugins ressources sont un moyen g<EFBFBD>n<EFBFBD>rique de fournir des sources
|
||||||
de templates ou des composants de scripts PHP a Smarty. Quelques exemples
|
de templates ou des composants de scripts PHP a Smarty. Quelques exemples
|
||||||
de ressources : bases de donnTes, LDAP, mTmoire partagTe, sockets, et ainsi
|
de ressources : bases de donn<EFBFBD>es, LDAP, m<EFBFBD>moire partag<EFBFBD>e, sockets, et ainsi
|
||||||
de suite.
|
de suite.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Il y au total 4 fonctions qui ont besoin d'Otre enregistrTes pour
|
Il y au total 4 fonctions qui ont besoin d'Otre enregistr<EFBFBD>es pour
|
||||||
chaque type de ressource. Chaque fonction retoit le nom de la ressource demandTe
|
chaque type de ressource. Chaque fonction retoit le nom de la ressource demand<EFBFBD>e
|
||||||
comme premier paramFtre et l'objet Smarty comme dernier paramFtre.
|
comme premier param<EFBFBD>tre et l'objet Smarty comme dernier param<EFBFBD>tre.
|
||||||
Les autres paramFtres dTpendent de la fonction.
|
Les autres param<EFBFBD>tres d<EFBFBD>pendent de la fonction.
|
||||||
</para>
|
</para>
|
||||||
<funcsynopsis>
|
<funcsynopsis>
|
||||||
<funcprototype>
|
<funcprototype>
|
||||||
@@ -621,35 +621,35 @@ echo 'index.tpl compiled at 2002-02-20 20:02';
|
|||||||
</funcsynopsis>
|
</funcsynopsis>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
La premiFre fonction est supposTe rTcupTrer la ressource. Son second
|
La premi<EFBFBD>re fonction est suppos<EFBFBD>e r<EFBFBD>cup<EFBFBD>rer la ressource. Son second
|
||||||
paramFtre est une variable passTe par rTfTrence o<> le rTsultat doit Otre
|
param<EFBFBD>tre est une variable pass<EFBFBD>e par r<EFBFBD>f<EFBFBD>rence o<> le r<EFBFBD>sultat doit Otre
|
||||||
stockT. La fonction est supposTe retourner <literal>true</literal> si
|
stock<EFBFBD>. La fonction est suppos<EFBFBD>e retourner <literal>true</literal> si
|
||||||
elle rTussi a rTcupTrer la ressource et <literal>false</literal> sinon.
|
elle r<EFBFBD>ussi a r<EFBFBD>cup<EFBFBD>rer la ressource et <literal>false</literal> sinon.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
La seconde fonction est supposTe rTcupTrer la date de derniFre modification
|
La seconde fonction est suppos<EFBFBD>e r<EFBFBD>cup<EFBFBD>rer la date de derni<EFBFBD>re modification
|
||||||
de la ressource demandTe (comme un timestamp UNIX). Le second paramFtre
|
de la ressource demand<EFBFBD>e (comme un timestamp UNIX). Le second param<EFBFBD>tre
|
||||||
est une variable passTe par rTfTrence dans laquelle la date doit
|
est une variable pass<EFBFBD>e par r<EFBFBD>f<EFBFBD>rence dans laquelle la date doit
|
||||||
Otre stockTe. La fonction est supposTe renvoyer <literal>true</literal> si elle
|
Otre stock<EFBFBD>e. La fonction est suppos<EFBFBD>e renvoyer <literal>true</literal> si elle
|
||||||
a rTussi a rTcupTrer la date et <literal>false</literal> sinon.
|
a r<EFBFBD>ussi a r<EFBFBD>cup<EFBFBD>rer la date et <literal>false</literal> sinon.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
La troisiFme fonction est supposTe retourner <literal>true</literal>
|
La troisi<EFBFBD>me fonction est suppos<EFBFBD>e retourner <literal>true</literal>
|
||||||
ou <literal>false</literal> selon si la ressource demandTe est svre
|
ou <literal>false</literal> selon si la ressource demand<EFBFBD>e est svre
|
||||||
ou non. La fonction est utilisTe seulement pour les ressources templates
|
ou non. La fonction est utilis<EFBFBD>e seulement pour les ressources templates
|
||||||
mais doit tout de mOme Otre dTfinie.
|
mais doit tout de m<EFBFBD>me Otre d<EFBFBD>finie.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
La quatriFme fonction est supposTe retourner <literal>true</literal>
|
La quatri<EFBFBD>me fonction est suppos<EFBFBD>e retourner <literal>true</literal>
|
||||||
ou <literal>false</literal> selon si on peut faire confiance ou
|
ou <literal>false</literal> selon si on peut faire confiance ou
|
||||||
non a la ressource demandTe. Cette fonction est utilisTe seulement
|
non a la ressource demand<EFBFBD>e. Cette fonction est utilis<EFBFBD>e seulement
|
||||||
pour les composants de scripts PHP demandTs par les balises
|
pour les composants de scripts PHP demand<EFBFBD>s par les balises
|
||||||
<command>include_php</command> ou <command>insert</command>
|
<command>include_php</command> ou <command>insert</command>
|
||||||
ayant un attribut <structfield>src</structfield>. Quoiqu'il en soit,
|
ayant un attribut <structfield>src</structfield>. Quoiqu'il en soit,
|
||||||
elle doit Otre dTfinie pour les ressources templates.
|
elle doit Otre d<EFBFBD>finie pour les ressources templates.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
@@ -667,12 +667,12 @@ echo 'index.tpl compiled at 2002-02-20 20:02';
|
|||||||
* Fichier : resource.db.php
|
* Fichier : resource.db.php
|
||||||
* Type : ressource
|
* Type : ressource
|
||||||
* Nom : db
|
* Nom : db
|
||||||
* R(le : RTcupFre des templates depuis une base de donnTes
|
* R(le : RTcup<EFBFBD>re des templates depuis une base de donn<EFBFBD>es
|
||||||
* -------------------------------------------------------------
|
* -------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
function smarty_resource_db_source($tpl_name, &$tpl_source, &$smarty)
|
function smarty_resource_db_source($tpl_name, &$tpl_source, &$smarty)
|
||||||
{
|
{
|
||||||
// fait des requOtes BD pour rTcupTrer votre template
|
// fait des requ<EFBFBD>tes BD pour r<EFBFBD>cup<EFBFBD>rer votre template
|
||||||
// et remplir $tpl_source
|
// et remplir $tpl_source
|
||||||
$sql = new SQL;
|
$sql = new SQL;
|
||||||
$sql->query("select tpl_source
|
$sql->query("select tpl_source
|
||||||
@@ -688,7 +688,7 @@ function smarty_resource_db_source($tpl_name, &$tpl_source, &$smarty)
|
|||||||
|
|
||||||
function smarty_resource_db_timestamp($tpl_name, &$tpl_timestamp, &$smarty)
|
function smarty_resource_db_timestamp($tpl_name, &$tpl_timestamp, &$smarty)
|
||||||
{
|
{
|
||||||
// fait des requOtes BD pour remplir $tpl_timestamp
|
// fait des requ<EFBFBD>tes BD pour remplir $tpl_timestamp
|
||||||
$sql = new SQL;
|
$sql = new SQL;
|
||||||
$sql->query("select tpl_timestamp
|
$sql->query("select tpl_timestamp
|
||||||
from my_table
|
from my_table
|
||||||
@@ -709,7 +709,7 @@ function smarty_resource_db_secure($tpl_name, &$smarty)
|
|||||||
|
|
||||||
function smarty_resource_db_trusted($tpl_name, &$smarty)
|
function smarty_resource_db_trusted($tpl_name, &$smarty)
|
||||||
{
|
{
|
||||||
// inutilisTe pour les templates
|
// inutilis<EFBFBD>e pour les templates
|
||||||
}
|
}
|
||||||
?></programlisting>
|
?></programlisting>
|
||||||
</example>
|
</example>
|
||||||
@@ -717,8 +717,8 @@ function smarty_resource_db_trusted($tpl_name, &$smarty)
|
|||||||
|
|
||||||
<sect1 id="plugins.inserts"><title>Insertions</title>
|
<sect1 id="plugins.inserts"><title>Insertions</title>
|
||||||
<para>
|
<para>
|
||||||
Les plugins d'insertion sont utilisTs pour implTmenter les fonctions
|
Les plugins d'insertion sont utilis<EFBFBD>s pour impl<EFBFBD>menter les fonctions
|
||||||
qui sont appelTes par les balises
|
qui sont appel<EFBFBD>es par les balises
|
||||||
<link linkend="language.function.insert"><command>insert</command></link>
|
<link linkend="language.function.insert"><command>insert</command></link>
|
||||||
dans les templates.
|
dans les templates.
|
||||||
</para>
|
</para>
|
||||||
@@ -730,15 +730,15 @@ function smarty_resource_db_trusted($tpl_name, &$smarty)
|
|||||||
</funcprototype>
|
</funcprototype>
|
||||||
</funcsynopsis>
|
</funcsynopsis>
|
||||||
<para>
|
<para>
|
||||||
Le premier paramFtre passT a la fonction est une tableau associatif
|
Le premier param<EFBFBD>tre pass<EFBFBD> a la fonction est une tableau associatif
|
||||||
d'attributs. Vous pouvez accTder a ces valeurs soit directement, par exemple
|
d'attributs. Vous pouvez acc<EFBFBD>der a ces valeurs soit directement, par exemple
|
||||||
<varname>$params['start']</varname>, soit en utilisant
|
<varname>$params['start']</varname>, soit en utilisant
|
||||||
<varname>extract($params)</varname> pour les importer dans la table
|
<varname>extract($params)</varname> pour les importer dans la table
|
||||||
des symboles.
|
des symboles.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
La fonction d'insertion est supposTe retourner le rTsultat qui sera
|
La fonction d'insertion est suppos<EFBFBD>e retourner le r<EFBFBD>sultat qui sera
|
||||||
substituT a la balise <command>insert</command> dans le template.
|
substitu<EFBFBD> a la balise <command>insert</command> dans le template.
|
||||||
</para>
|
</para>
|
||||||
<example>
|
<example>
|
||||||
<title>plugin d'insertion</title>
|
<title>plugin d'insertion</title>
|
||||||
@@ -750,7 +750,7 @@ function smarty_resource_db_trusted($tpl_name, &$smarty)
|
|||||||
* Fichier : insert.time.php
|
* Fichier : insert.time.php
|
||||||
* Type : temps
|
* Type : temps
|
||||||
* Nom : time
|
* Nom : time
|
||||||
* R(le : Insert la date/heure courante conformTment
|
* R(le : Insert la date/heure courante conform<EFBFBD>ment
|
||||||
* au format
|
* au format
|
||||||
* -------------------------------------------------------------
|
* -------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@@ -787,4 +787,4 @@ End:
|
|||||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||||
vim: et tw=78 syn=sgml
|
vim: et tw=78 syn=sgml
|
||||||
vi: ts=1 sw=1
|
vi: ts=1 sw=1
|
||||||
-->
|
-->
|
||||||
|
@@ -7,17 +7,17 @@
|
|||||||
<sect1 id="constant.smarty.dir">
|
<sect1 id="constant.smarty.dir">
|
||||||
<title>SMARTY_DIR</title>
|
<title>SMARTY_DIR</title>
|
||||||
<para>
|
<para>
|
||||||
Il doit s'agir du chemin complet du rTpertoire o<>
|
Il doit s'agir du chemin complet du r<EFBFBD>pertoire o<>
|
||||||
se trouvent les fichiers classes de Smarty.
|
se trouvent les fichiers classes de Smarty.
|
||||||
S'il n'est pas dTfini, Smarty essaiera alors d'en
|
S'il n'est pas d<EFBFBD>fini, Smarty essaiera alors d'en
|
||||||
dTterminer automatiquement la valeur.
|
d<EFBFBD>terminer automatiquement la valeur.
|
||||||
S'il est dTfini, le chemin doit se terminer par un slash.
|
S'il est d<EFBFBD>fini, le chemin doit se terminer par un slash.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<example>
|
<example>
|
||||||
<title>SMARTY_DIR</title>
|
<title>SMARTY_DIR</title>
|
||||||
<programlisting>
|
<programlisting>
|
||||||
// dTfinit le chemin du rTpertoire de Smarty
|
// d<EFBFBD>finit le chemin du r<EFBFBD>pertoire de Smarty
|
||||||
define("SMARTY_DIR","/usr/local/lib/php/Smarty/");
|
define("SMARTY_DIR","/usr/local/lib/php/Smarty/");
|
||||||
|
|
||||||
require_once(SMARTY_DIR."Smarty.class.php");</programlisting>
|
require_once(SMARTY_DIR."Smarty.class.php");</programlisting>
|
||||||
@@ -43,4 +43,4 @@ End:
|
|||||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||||
vim: et tw=78 syn=sgml
|
vim: et tw=78 syn=sgml
|
||||||
vi: ts=1 sw=1
|
vi: ts=1 sw=1
|
||||||
-->
|
-->
|
||||||
|
Reference in New Issue
Block a user