fix accents broken by boots last year

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