mirror of
https://github.com/smarty-php/smarty.git
synced 2025-10-26 02:41:36 +02:00
sync with EN & typo
This commit is contained in:
@@ -1,61 +1,79 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: 1.1 Maintainer: nobody Status: partial -->
|
||||
<sect1 id="plugins.block.functions"><title>Fonctions de blocs</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>smarty_block_<replaceable>name</replaceable></function></funcdef>
|
||||
<paramdef>array <parameter>$params</parameter></paramdef>
|
||||
<paramdef>mixed <parameter>$content</parameter></paramdef>
|
||||
<paramdef>object <parameter>&$smarty</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</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 op<6F>rent sur les
|
||||
contenus de ces blocs. Les fonctions de blocs ont la priorit<69> sur les
|
||||
fonctions utilisateurs de m<>me nom, ce qui signifie que vous ne
|
||||
pouvez avoir une fonction utilisateur {func} et une fonction de bloc
|
||||
{func} .. {/func}.
|
||||
</para>
|
||||
<para>
|
||||
L'impl<70>mentation de votre fonction est appel<65>e deux fois par Smarty :
|
||||
une fois pour la balise ouvrante et une autre fois pour la balise
|
||||
fermante.
|
||||
</para>
|
||||
<para>
|
||||
Seule la balise ouvrante d'une fonction de bloc peut avoir des attributs.
|
||||
Tous les attributs pass<73>s par le template aux fonctions de templates sont
|
||||
contenues dans le tableau associatif <parameter>$params</parameter>.
|
||||
Vous pouvez acc<63>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 acc<63>s aux attributs de la balise
|
||||
ouvrante quand c'est la balise fermante qui est ex<65>cut<75>e.
|
||||
</para>
|
||||
<para>
|
||||
La valeur de la variable <parameter>$content</parameter> est diff<66>rente
|
||||
selon si votre fonction est appel<65>e pour la balise ouvrante ou la
|
||||
balise fermante. Si c'est pour la balise ouvrante, elle sera a
|
||||
<literal>null</literal> et si c'est la balise fermante elle sera
|
||||
<EFBFBD>gale au contenu du bloc de template. Notez que le bloc de template
|
||||
aura d<>j<EFBFBD> <20>t<EFBFBD> ex<65>cut<75> par Smarty, vous recevrez donc la sortie du
|
||||
template et non sa source.
|
||||
</para>
|
||||
<para>
|
||||
Si vous imbriqu<71> 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>
|
||||
<para>
|
||||
Regardez aussi :
|
||||
<link linkend="api.register.block">register_block()</link>,
|
||||
<!-- EN-Revision: 1.3 Maintainer: yannick Status: ready -->
|
||||
<sect1 id="plugins.block.functions">
|
||||
<title>Fonctions de blocs</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>smarty_block_<replaceable>name</replaceable></function></funcdef>
|
||||
<paramdef>array <parameter>$params</parameter></paramdef>
|
||||
<paramdef>mixed <parameter>$content</parameter></paramdef>
|
||||
<paramdef>object <parameter>&$smarty</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</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 op<6F>rent sur les
|
||||
contenus de ces blocs. Les fonctions de blocs ont la priorit<69> sur les
|
||||
fonctions utilisateurs de m<>me nom, ce qui signifie que vous ne
|
||||
pouvez avoir une fonction utilisateur {func} et une fonction de bloc
|
||||
{func} .. {/func}.
|
||||
</para>
|
||||
<para>
|
||||
Par d<>faut, l'impl<70>mentation de votre fonction est appel<EFBFBD>e deux fois par Smarty :
|
||||
une fois pour la balise ouvrante et une autre fois pour la balise
|
||||
fermante (voir <literal>&$repeat</literal> ci-dessous
|
||||
sur la fa<66>on de modifier ce comportement).
|
||||
</para>
|
||||
<para>
|
||||
Seule la balise ouvrante d'une fonction de bloc peut avoir des attributs.
|
||||
Tous les attributs pass<73>s par le template aux fonctions de templates sont
|
||||
contenus dans le tableau associatif <parameter>$params</parameter>.
|
||||
Vous pouvez acc<63>der <20> ces valeurs directement par
|
||||
<varname>$params['start']</varname>.
|
||||
Votre fonction a aussi acc<63>s aux attributs de la balise
|
||||
ouvrante quand c'est la balise fermante qui est ex<65>cut<75>e.
|
||||
</para>
|
||||
<para>
|
||||
La valeur de la variable <parameter>$content</parameter> est diff<66>rente
|
||||
selon si votre fonction est appel<65>e pour la balise ouvrante ou la
|
||||
balise fermante. Si c'est pour la balise ouvrante, elle sera <20>
|
||||
<literal>null</literal> et si c'est la balise fermante, elle sera
|
||||
<20>gale au contenu du bloc de template. Notez que le bloc de template
|
||||
aura d<>j<EFBFBD> <20>t<EFBFBD> ex<65>cut<75> par Smarty, vous recevrez donc la sortie du
|
||||
template et non sa source.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Le param<61>tre <parameter>&$repeat</parameter> est pass<73>
|
||||
par r<>f<EFBFBD>rence <20> la fonction d'impl<70>mentation et fournit la possibilit<69>
|
||||
de contr<74>ler le nombre d'affichage du bloc. Par d<>faut,
|
||||
<parameter>$repeat</parameter> vaut <literal>true</literal>
|
||||
lors du premier appel <20> la fonction de bloc (le bloc d'ouverture du tag) et
|
||||
<literal>false</literal> lors de tous les autres appels <20> la fonction
|
||||
de bloc (le bloc de fermeture du tag). Chaque fois que la fonction
|
||||
d'impl<70>mentation retourne avec le param<61>tre
|
||||
<parameter>&$repeat</parameter> vallant true, le contenu situ<74>
|
||||
entre {func} .. {/func} est <20>valu<6C> et la fonction d'impl<70>mentation est appel<65>
|
||||
une nouvelle fois avec le nouveau bloc de contenu en tant que param<61>tre
|
||||
<parameter>$content</parameter>.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Si vous imbriqu<71> des fonctions de bloc, il est possible de conna<6E>tre
|
||||
la fonction de bloc parente gr<67>ce <20> la variable <varname>$smarty->_tag_stack</varname>.
|
||||
Fa<46>tes un var_dump() dessus et la structure devrait appara<72>tre.
|
||||
</para>
|
||||
<para>
|
||||
Regardez aussi :
|
||||
<link linkend="api.register.block">register_block()</link>,
|
||||
<link linkend="api.unregister.block">unregister_block()</link>.
|
||||
</para>
|
||||
<example>
|
||||
<title>fonction de bloc</title>
|
||||
<programlisting>
|
||||
<?php
|
||||
</para>
|
||||
<example>
|
||||
<title>Fonction de bloc</title>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
/*
|
||||
* Smarty plugin
|
||||
* -------------------------------------------------------------
|
||||
@@ -72,9 +90,12 @@ function smarty_block_translate($params, $content, &$smarty)
|
||||
// fait une traduction de $content
|
||||
echo $translation;
|
||||
}
|
||||
}</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
}
|
||||
?>
|
||||
]]>
|
||||
</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
|
||||
@@ -1,36 +1,37 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: 1.1 Maintainer: nobody Status: partial -->
|
||||
<sect1 id="plugins.compiler.functions"><title>Fonctions de compilation</title>
|
||||
<para>
|
||||
Les fonctions de compilation sont appel<65>es durant la compilation du template.
|
||||
Elles sont utiles pour injecter du code PHP ou du contenu "statique variant
|
||||
avec le temps" (bandeau de pub par ex.). Si une fonction de compilation et
|
||||
une fonction personnalis<69>e ont le m<>me
|
||||
nom, la fonction de compilation a priorit<69>.
|
||||
</para>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>mixed <function>smarty_compiler_<replaceable>name</replaceable></function></funcdef>
|
||||
<paramdef>string <parameter>$tag_arg</parameter></paramdef>
|
||||
<paramdef>object <parameter>&$smarty</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
<para>
|
||||
Les fonctions de compilation ont deux param<61>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<6E>es retourner le code PHP qui doit <20>tre
|
||||
inject<63> dans le template compil<69>.
|
||||
</para>
|
||||
<para>
|
||||
Regardez aussi
|
||||
<link linkend="api.register.compiler.function">register_compiler_function()</link>,
|
||||
<!-- EN-Revision: 1.2 Maintainer: yannick Status: ready -->
|
||||
<sect1 id="plugins.compiler.functions">
|
||||
<title>Fonctions de compilation</title>
|
||||
<para>
|
||||
Les fonctions de compilation sont appel<65>es durant la compilation du template.
|
||||
Elles sont utiles pour injecter du code PHP ou du contenu "statique variant
|
||||
avec le temps" (bandeau de pub par ex.). Si une fonction de compilation et
|
||||
une fonction personnalis<69>e ont le m<>me nom, la fonction de compilation a priorit<69>.
|
||||
</para>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>mixed <function>smarty_compiler_<replaceable>name</replaceable></function></funcdef>
|
||||
<paramdef>string <parameter>$tag_arg</parameter></paramdef>
|
||||
<paramdef>object <parameter>&$smarty</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
<para>
|
||||
Les fonctions de compilation ont deux param<61>tres : une cha<EFBFBD>ne 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<6E>es retourner le code PHP qui doit <20>tre
|
||||
inject<63> dans le template compil<69>.
|
||||
</para>
|
||||
<para>
|
||||
Regardez aussi
|
||||
<link linkend="api.register.compiler.function">register_compiler_function()</link>,
|
||||
<link linkend="api.unregister.compiler.function">unregister_compiler_function()</link>.
|
||||
</para>
|
||||
<example>
|
||||
<title>fonction de compilation simple</title>
|
||||
<programlisting>
|
||||
<?php
|
||||
</para>
|
||||
<example>
|
||||
<title>Fonction de compilation simple</title>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
/*
|
||||
* Smarty plugin
|
||||
* -------------------------------------------------------------
|
||||
@@ -45,22 +46,28 @@ function smarty_compiler_tplheader($tag_arg, &$smarty)
|
||||
{
|
||||
return "\necho '" . $smarty->_current_file . " compiled at " . date('Y-m-d H:M'). "';";
|
||||
}
|
||||
?></programlisting>
|
||||
<para>
|
||||
Cette fonction peut-<2D>tre appel<65> depuis le template comme suivant :
|
||||
</para>
|
||||
<programlisting>
|
||||
?>
|
||||
]]>
|
||||
</programlisting>
|
||||
<para>
|
||||
Cette fonction peut-<2D>tre appel<65>e depuis le template comme suivant :
|
||||
</para>
|
||||
<programlisting>
|
||||
{* cette fonction n'est execut<75>e que lors de la compilation *}
|
||||
{tplheader}</programlisting>
|
||||
<para>
|
||||
Le code PHP r<>sultant dans les templates compil<69>s ressemblerait a ta :
|
||||
</para>
|
||||
<programlisting>
|
||||
<php
|
||||
{tplheader}
|
||||
</programlisting>
|
||||
<para>
|
||||
Le code PHP r<>sultant dans les templates compil<69>s ressemblerait <20> <20>a :
|
||||
</para>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
echo 'index.tpl compiled at 2002-02-20 20:02';
|
||||
?></programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
?>
|
||||
]]>
|
||||
</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
|
||||
@@ -1,43 +1,41 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: 1.1 Maintainer: nobody Status: partial -->
|
||||
<sect1 id="plugins.functions"><title>Les fonctions de templates</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>smarty_function_<replaceable>name</replaceable></function></funcdef>
|
||||
<paramdef>array <parameter>$params</parameter></paramdef>
|
||||
<paramdef>object <parameter>&$smarty</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
<para>
|
||||
Tous les attributs pass<73>s aux fonctions de template a partir du template
|
||||
sont contenus dans le tableau associatif <parameter>$params</parameter>.
|
||||
Vous pouvez acc<63>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 substitu<74>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 fonctionnalit<69>s fournies par Smarty, elle peut recevoir un
|
||||
objet <parameter>$smarty</parameter> pour cela.
|
||||
</para>
|
||||
<para>
|
||||
R<>f<EFBFBD>rez-vous aussi a :
|
||||
<link linkend="api.register.function">register_function()</link>,
|
||||
<!-- EN-Revision: 1.2 Maintainer: yannick Status: ready -->
|
||||
<sect1 id="plugins.functions">
|
||||
<title>Les fonctions de templates</title>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>void <function>smarty_function_<replaceable>name</replaceable></function></funcdef>
|
||||
<paramdef>array <parameter>$params</parameter></paramdef>
|
||||
<paramdef>object <parameter>&$smarty</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
<para>
|
||||
Tous les attributs pass<73>s aux fonctions de template <20> partir du template
|
||||
sont contenus dans le tableau associatif <parameter>$params</parameter>.
|
||||
</para>
|
||||
<para>
|
||||
Le retour de la fonction sera substitu<74>e <20> la balise de fonction
|
||||
du template (fonction <function>fetch</function> par exemple). Sinon,
|
||||
la fonction peut simplement accomplir une autre t<>che sans sortie
|
||||
(la fonction <function>assign</function> par exemple).
|
||||
</para>
|
||||
<para>
|
||||
Si la fonction a besoin d'assigner des variables aux templates ou d'utiliser
|
||||
d'autres fonctionnalit<69>s fournies par Smarty, elle peut recevoir un
|
||||
objet <parameter>$smarty</parameter> pour cel<65>.
|
||||
</para>
|
||||
<para>
|
||||
R<>f<EFBFBD>rez-vous aussi <20> :
|
||||
<link linkend="api.register.function">register_function()</link>,
|
||||
<link linkend="api.unregister.function">unregister_function()</link>.
|
||||
</para>
|
||||
<para>
|
||||
<example>
|
||||
<title>fonction de plugin avec sortie</title>
|
||||
<programlisting>
|
||||
<?php
|
||||
</para>
|
||||
<para>
|
||||
<example>
|
||||
<title>Fonction de plugin avec sortie</title>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
/*
|
||||
* Smarty plugin
|
||||
* -------------------------------------------------------------
|
||||
@@ -47,7 +45,7 @@
|
||||
* R<>le : renvoie une phrase magique au hasard
|
||||
* -------------------------------------------------------------
|
||||
*/
|
||||
function smarty_function_eightball($params, &$smarty)
|
||||
function smarty_function_eightball($params, &$smarty)
|
||||
{
|
||||
$answers = array('Yes',
|
||||
'No',
|
||||
@@ -59,20 +57,24 @@ function smarty_function_eightball($params, &$smarty)
|
||||
$result = array_rand($answers);
|
||||
return $answers[$result];
|
||||
}
|
||||
?></programlisting>
|
||||
</example>
|
||||
</para>
|
||||
<para>
|
||||
peut <20>tre utilis<69>e dans le template de la faton suivante :
|
||||
</para>
|
||||
<programlisting>
|
||||
?>
|
||||
]]>
|
||||
</programlisting>
|
||||
</example>
|
||||
</para>
|
||||
<para>
|
||||
peut <20>tre utilis<69>e dans le template de la fa<66>on suivante :
|
||||
</para>
|
||||
<programlisting>
|
||||
Question: Will we ever have time travel?
|
||||
Answer: {eightball}.</programlisting>
|
||||
<para>
|
||||
<example>
|
||||
<title>fonction de plugin sans sortie</title>
|
||||
<programlisting>
|
||||
<?php
|
||||
Answer: {eightball}.
|
||||
</programlisting>
|
||||
<para>
|
||||
<example>
|
||||
<title>Fonction de plugin sans sortie</title>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
/*
|
||||
* Smarty plugin
|
||||
* -------------------------------------------------------------
|
||||
@@ -82,7 +84,7 @@ Answer: {eightball}.</programlisting>
|
||||
* Purpose : assigne une valeur a une variable de template
|
||||
* -------------------------------------------------------------
|
||||
*/
|
||||
function smarty_function_assign($params, &$smarty)
|
||||
function smarty_function_assign($params, &$smarty)
|
||||
{
|
||||
extract($params);
|
||||
|
||||
@@ -98,10 +100,12 @@ function smarty_function_assign($params, &$smarty)
|
||||
|
||||
$smarty->assign($var, $value);
|
||||
}
|
||||
?></programlisting>
|
||||
</example>
|
||||
</para>
|
||||
</sect1>
|
||||
?>
|
||||
]]>
|
||||
</programlisting>
|
||||
</example>
|
||||
</para>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: 1.1 Maintainer: nobody Status: partial -->
|
||||
<!-- EN-Revision: 1.2 Maintainer: yannick Status: ready -->
|
||||
<sect1 id="plugins.howto">
|
||||
<title>Comment fonctionnent les plugins</title>
|
||||
<para>
|
||||
Les plugins sont toujours charg<72>s a la demande. Seuls les modificateurs
|
||||
Les plugins sont toujours charg<72>s <EFBFBD> la demande. Seuls les modificateurs
|
||||
de variables, les ressources, etc invoqu<71>s dans les scripts de templates
|
||||
seront charg<72>s. De plus, chaque plugin n'est charg<72> qu'une fois, et ce
|
||||
m<>me si vous avez plusieurs instances de Smarty qui tournent dans
|
||||
@@ -19,9 +19,10 @@
|
||||
sont ex<65>cut<75>s d<>pend de l'ordre dans lequel ils sont enregistr<74>s ou charg<72>s.
|
||||
</para>
|
||||
<para>
|
||||
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.
|
||||
Le <link linkend="variable.plugins.dir">r<EFBFBD>pertoire de plugin</link> peut
|
||||
<EFBFBD>tre une cha<68>ne de caract<63>res contenant un chemin ou un tableau contenant
|
||||
de multiples chemins. Pour installer un plugin, placez-le simplement
|
||||
dans un de ces dossiers et Smarty l'utilisera automatiquement.
|
||||
</para>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
|
||||
@@ -1,35 +1,34 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: 1.1 Maintainer: nobody Status: partial -->
|
||||
<sect1 id="plugins.inserts"><title>Insertions</title>
|
||||
<para>
|
||||
Les plugins d'insertion sont utilis<69>s pour impl<70>menter les fonctions
|
||||
qui sont appel<65>es par les balises
|
||||
<link linkend="language.function.insert"><command>insert</command></link>
|
||||
dans les templates.
|
||||
</para>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>string <function>smarty_insert_<replaceable>name</replaceable></function></funcdef>
|
||||
<paramdef>array <parameter>$params</parameter></paramdef>
|
||||
<paramdef>object <parameter>&$smarty</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
<para>
|
||||
Le premier param<61>tre pass<73> a la fonction est une tableau associatif
|
||||
d'attributs. Vous pouvez acc<63>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 suppos<6F>e retourner le r<>sultat qui sera
|
||||
substitu<EFBFBD> a la balise <command>insert</command> dans le template.
|
||||
</para>
|
||||
<example>
|
||||
<title>plugin d'insertion</title>
|
||||
<programlisting>
|
||||
<?php
|
||||
<!-- EN-Revision: 1.2 Maintainer: yannick Status: ready -->
|
||||
<sect1 id="plugins.inserts">
|
||||
<title>Insertions</title>
|
||||
<para>
|
||||
Les plugins d'insertion sont utilis<69>s pour impl<70>menter les fonctions
|
||||
qui sont appel<65>es par les balises
|
||||
<link linkend="language.function.insert"><command>insert</command></link>
|
||||
dans les templates.
|
||||
</para>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>string <function>smarty_insert_<replaceable>name</replaceable></function></funcdef>
|
||||
<paramdef>array <parameter>$params</parameter></paramdef>
|
||||
<paramdef>object <parameter>&$smarty</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
<para>
|
||||
Le premier param<61>tre pass<73> <20> la fonction est une tableau associatif
|
||||
d'attributs.
|
||||
</para>
|
||||
<para>
|
||||
La fonction d'insertion est suppos<6F>e retourner le r<>sultat qui sera
|
||||
substitu<74> <20> la balise <command>insert</command> dans le template.
|
||||
</para>
|
||||
<example>
|
||||
<title>Plugin d'insertion</title>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
/*
|
||||
* Smarty plugin
|
||||
* -------------------------------------------------------------
|
||||
@@ -40,7 +39,7 @@
|
||||
* au format
|
||||
* -------------------------------------------------------------
|
||||
*/
|
||||
function smarty_insert_time($params, &$smarty)
|
||||
function smarty_insert_time($params, &$smarty)
|
||||
{
|
||||
if (empty($params['format'])) {
|
||||
$smarty->trigger_error("insert time: missing 'format' parameter");
|
||||
@@ -50,8 +49,10 @@ function smarty_insert_time($params, &$smarty)
|
||||
$datetime = strftime($params['format']);
|
||||
return $datetime;
|
||||
}
|
||||
?></programlisting>
|
||||
</example>
|
||||
?>
|
||||
]]>
|
||||
</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
|
||||
@@ -1,41 +1,43 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: 1.1 Maintainer: nobody Status: partial -->
|
||||
<sect1 id="plugins.modifiers"><title>Modificateurs</title>
|
||||
<para>
|
||||
Les modificateurs sont des petites fonctions appliqu<71>es a une variable
|
||||
de template avant qu'elle ne soit affich<63>e ou utilis<69>e dans un autre contexte.
|
||||
Les modificateurs peuvent <20>tre chaen<65>s entre eux.
|
||||
</para>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>mixed <function>smarty_modifier_<replaceable>name</replaceable></function></funcdef>
|
||||
<paramdef>mixed <parameter>$value</parameter></paramdef>
|
||||
<paramdef>[mixed <parameter>$param1</parameter>, ...]</paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
<para>
|
||||
Le premier param<61>tre pass<73> au modificateur est la valeur
|
||||
sur laquelle le modificateur est suppos<6F> op<6F>rer. Les autres param<61>tres
|
||||
peuvent <20>tre optionnels, d<>pendant de quel genre d'op<6F>ration doit <EFBFBD>tre
|
||||
effectu<EFBFBD>.
|
||||
</para>
|
||||
<para>
|
||||
Le modificateur doit retourner le r<>sultat de son ex<65>cution.
|
||||
</para>
|
||||
<para>
|
||||
Regardez aussi
|
||||
<link linkend="api.register.modifier">register_modifier()</link>,
|
||||
<!-- EN-Revision: 1.2 Maintainer: yannick Status: ready -->
|
||||
<sect1 id="plugins.modifiers">
|
||||
<title>Modificateurs</title>
|
||||
<para>
|
||||
Les modificateurs sont des petites fonctions appliqu<71>es <20> une variable
|
||||
de template avant qu'elle ne soit affich<63>e ou utilis<69>e dans un autre contexte.
|
||||
Les modificateurs peuvent <20>tre cha<68>n<EFBFBD>s entre eux.
|
||||
</para>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>mixed <function>smarty_modifier_<replaceable>name</replaceable></function></funcdef>
|
||||
<paramdef>mixed <parameter>$value</parameter></paramdef>
|
||||
<paramdef>[mixed <parameter>$param1</parameter>, ...]</paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
<para>
|
||||
Le premier param<61>tre pass<73> au modificateur est la valeur
|
||||
sur laquelle le modificateur est suppos<6F> op<6F>rer. Les autres param<EFBFBD>tres
|
||||
peuvent <20>tre optionnels, d<>pendant de quel genre d'op<6F>ration doit <20>tre
|
||||
effectu<74>.
|
||||
</para>
|
||||
<para>
|
||||
Le modificateur doit retourner le r<>sultat de son ex<65>cution.
|
||||
</para>
|
||||
<para>
|
||||
Lisez <20>galement
|
||||
<link linkend="api.register.modifier">register_modifier()</link> et
|
||||
<link linkend="api.unregister.modifier">unregister_modifier()</link>.
|
||||
</para>
|
||||
<example>
|
||||
<title>Plugin modificateur simple</title>
|
||||
<para>
|
||||
Ce plugin est un alias d'une fonction PHP. Il n'a aucun param<61>tre
|
||||
suppl<70>mentaires.
|
||||
</para>
|
||||
<example>
|
||||
<title>plugin modificateur simple</title>
|
||||
<para>
|
||||
Ce plugin est un alias d'une fonction PHP. Il n'a aucun param<61>tre
|
||||
suppl<70>mentaires.
|
||||
</para>
|
||||
<programlisting>
|
||||
<?php
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
/*
|
||||
* Smarty plugin
|
||||
* -------------------------------------------------------------
|
||||
@@ -49,13 +51,16 @@ function smarty_modifier_capitalize($string)
|
||||
{
|
||||
return ucwords($string);
|
||||
}
|
||||
?></programlisting>
|
||||
</example>
|
||||
<para></para>
|
||||
<example>
|
||||
<title>un plugin modificateur un peu plus complexe</title>
|
||||
<programlisting>
|
||||
<?php
|
||||
?>
|
||||
]]>
|
||||
</programlisting>
|
||||
</example>
|
||||
<para></para>
|
||||
<example>
|
||||
<title>Un plugin modificateur un peu plus complexe</title>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
/*
|
||||
* Smarty plugin
|
||||
* -------------------------------------------------------------
|
||||
@@ -84,9 +89,11 @@ function smarty_modifier_truncate($string, $length = 80, $etc = '...',
|
||||
} else
|
||||
return $string;
|
||||
}
|
||||
?></programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
?>
|
||||
]]>
|
||||
</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: 1.1 Maintainer: nobody Status: partial -->
|
||||
<!-- EN-Revision: 1.2 Maintainer: yannick Status: ready -->
|
||||
<sect1 id="plugins.naming.conventions">
|
||||
<title>Conventions de nommage</title>
|
||||
<para>
|
||||
Les fichiers et les fonctions de plugins doivent suivre une convention
|
||||
de nommage tr<74>s sp<73>cifique pour <20>tre localis<69>s par Smarty.
|
||||
de nommage tr<74>s sp<73>cifique pour <20>tre localis<69>s par Smarty.
|
||||
</para>
|
||||
<para>
|
||||
Les fichiers de plugins doivent <20>tre nomm<6D>s de la faton suivante :
|
||||
Les fichiers de plugins doivent <20>tre nomm<6D>s de la fa<EFBFBD>on suivante :
|
||||
<blockquote>
|
||||
<para>
|
||||
<filename>
|
||||
@@ -18,7 +18,7 @@
|
||||
</blockquote>
|
||||
</para>
|
||||
<para>
|
||||
O<> <literal>type</literal> est l'une des valeurs suivantes :
|
||||
O<> <literal>type</literal> est l'une des valeurs suivantes :
|
||||
<itemizedlist spacing="compact">
|
||||
<listitem><simpara>function</simpara></listitem>
|
||||
<listitem><simpara>modifier</simpara></listitem>
|
||||
@@ -42,7 +42,7 @@
|
||||
</para>
|
||||
<para>
|
||||
Les fonctions de plugins dans les fichiers de plugins doivent <20>tre
|
||||
nomm<6D>es de la faton suivante :
|
||||
nomm<6D>es de la fa<EFBFBD>on suivante :
|
||||
<blockquote>
|
||||
<para>
|
||||
<function>smarty_<replaceable>type</replaceable>_<replaceable>nom</replaceable></function>
|
||||
@@ -54,8 +54,8 @@
|
||||
que pr<70>c<EFBFBD>demment.
|
||||
</para>
|
||||
<para>
|
||||
Smarty donnera des messages d'erreur appropri<72> si le fichier de plugin
|
||||
n'est pas trouv<75>, ou si le fichier ou la fonction de plugin ne sont
|
||||
Smarty donnera des messages d'erreurs appropri<72>s si le fichier de plugin
|
||||
n'est pas trouv<75> ou si le fichier ou la fonction de plugin ne sont
|
||||
pas nomm<6D>s correctement.
|
||||
</para>
|
||||
</sect1>
|
||||
|
||||
@@ -1,28 +1,31 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: 1.1 Maintainer: nobody Status: partial -->
|
||||
<sect1 id="plugins.outputfilters"><title>Filtres de sortie</title>
|
||||
<para>
|
||||
Les plugins de filtres de sortie op<6F>rent sur la sortie du template,
|
||||
apr<EFBFBD>s que le template a <20>t<EFBFBD> charg<72> et ex<65>cut<75>, mais avant que
|
||||
la sortie ne soit affich<63>e.
|
||||
</para>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>string <function>smarty_outputfilter_<replaceable>name</replaceable></function></funcdef>
|
||||
<paramdef>string <parameter>$template_output</parameter></paramdef>
|
||||
<paramdef>object <parameter>&$smarty</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
<para>
|
||||
Le premier param<61>tre pass<73> a la fonction du filtre de sortie est la
|
||||
sortie du template qui doit <20>tre modifi<66>e et le second param<61>tre
|
||||
est l'instance de Smarty appelant le plugin. Le plugin est suppos<EFBFBD>
|
||||
faire un traitement et en retourner le r<>sultat.
|
||||
</para>
|
||||
<example>
|
||||
<title>plugin de filtre de sortie</title>
|
||||
<programlisting>
|
||||
<!-- EN-Revision: 1.2 Maintainer: yannick Status: ready -->
|
||||
<sect1 id="plugins.outputfilters">
|
||||
<title>Filtres de sortie</title>
|
||||
<para>
|
||||
Les plugins de filtres de sortie op<6F>rent sur la sortie du template,
|
||||
apr<70>s que le template a <20>t<EFBFBD> charg<72> et ex<65>cut<75>, mais avant que
|
||||
la sortie ne soit affich<63>e.
|
||||
</para>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
<funcdef>string <function>smarty_outputfilter_<replaceable>name</replaceable></function></funcdef>
|
||||
<paramdef>string <parameter>$template_output</parameter></paramdef>
|
||||
<paramdef>object <parameter>&$smarty</parameter></paramdef>
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
<para>
|
||||
Le premier param<61>tre pass<73> <20> la fonction du filtre de sortie est la
|
||||
sortie du template qui doit <20>tre modifi<66>e et le second param<61>tre
|
||||
est l'instance de Smarty appelant le plugin. Le plugin est suppos<6F>
|
||||
faire un traitement et en retourner le r<>sultat.
|
||||
</para>
|
||||
<example>
|
||||
<title>Plugin de filtre de sortie</title>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
/*
|
||||
* Smarty plugin
|
||||
* -------------------------------------------------------------
|
||||
@@ -33,13 +36,15 @@
|
||||
* robots spammers.
|
||||
* -------------------------------------------------------------
|
||||
*/
|
||||
function smarty_outputfilter_protect_email($output, &$smarty)
|
||||
{
|
||||
function smarty_outputfilter_protect_email($output, &$smarty)
|
||||
{
|
||||
return preg_replace('!(\S+)@([a-zA-Z0-9\.\-]+\.([a-zA-Z]{2,3}|[0-9]{1,3}))!',
|
||||
'$1%40$2', $output);
|
||||
}
|
||||
</programlisting>
|
||||
</example>
|
||||
}
|
||||
?>
|
||||
]]>
|
||||
</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: 1.1 Maintainer: nobody Status: partial -->
|
||||
<!-- EN-Revision: 1.2 Maintainer: yannick Status: ready -->
|
||||
<sect1 id="plugins.prefilters.postfilters">
|
||||
<title>filtres de pr<70>-compilation/filtres de post-compilation</title>
|
||||
<para>
|
||||
Les filtres de pr<70>-compilation et les filtres de post-compilation ont des concepts tr<74>s
|
||||
Les filtres de pr<70>-compilation et les filtres de post-compilation ont des concepts tr<74>s
|
||||
proches. Ils diff<66>rent dans leur ex<65>cution, plus pr<70>cis<69>ment dans le
|
||||
moment o<> ils sont ex<65>cut<75>s.
|
||||
moment o<> ils sont ex<65>cut<75>s.
|
||||
</para>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
@@ -17,9 +17,9 @@
|
||||
</funcsynopsis>
|
||||
<para>
|
||||
Les filtres de pr<70>-compilation sont utilis<69>s pour transformer la source d'un template
|
||||
juste avant la compilation. Le premier param<61>tre pass<73> a la fonction
|
||||
juste avant la compilation. Le premier param<61>tre pass<73> <EFBFBD> la fonction
|
||||
de filtre de pr<70>-compilation est la source du template, <20>ventuellement modifi<66>e par
|
||||
d'autres filtre de pr<70>-compilations. Le plugin est suppos<6F> retourner la source modifi<66>e.
|
||||
d'autres filtres de pr<70>-compilations. Le plugin est suppos<6F> retourner la source modifi<66>e.
|
||||
Notez que cette source n'est sauvegard<72>e nulle part, elle est seulement
|
||||
utilis<69> pour la compilation.
|
||||
</para>
|
||||
@@ -32,16 +32,17 @@
|
||||
</funcsynopsis>
|
||||
<para>
|
||||
Les filtres de post-compilation sont utilis<69>s pour modifier la sortie du template
|
||||
(le code PHP) juste apr<70>s que la compilation a <20>t<EFBFBD> faite mais juste
|
||||
avant que le template ne soit sauvegard<72> sur le syst<73>me de fichiers.
|
||||
Le premier param<61>tre pass<73> a la fonction de filtre de post-compilation est le code
|
||||
du template compil<69>, <20>ventuellement d<>ja modifi<66> par d'autres filtre de post-compilations.
|
||||
Le plugin est cens<6E> retourner la version modifi<66> du code.
|
||||
(le code PHP) juste apr<70>s que la compilation a <20>t<EFBFBD> fa<EFBFBD>te mais juste
|
||||
avant que le template ne soit sauvegard<72> sur le syst<73>me de fichiers.
|
||||
Le premier param<61>tre pass<73> <EFBFBD> la fonction de filtre de post-compilation est le code
|
||||
du template compil<69>, <20>ventuellement d<>ja modifi<66> par d'autres filtres de post-compilations.
|
||||
Le plugin est cens<6E> retourner la version modifi<66>e du code.
|
||||
</para>
|
||||
<example>
|
||||
<title>plugin de filtre de post-compilation</title>
|
||||
<programlisting>
|
||||
<?php
|
||||
<title>Plugin de filtre de post-compilation</title>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
/*
|
||||
* Smarty plugin
|
||||
* -------------------------------------------------------------
|
||||
@@ -51,17 +52,19 @@
|
||||
* R<>le : Passe les balises HTML en minuscules.
|
||||
* -------------------------------------------------------------
|
||||
*/
|
||||
function smarty_prefilter_pre01($source, &$smarty)
|
||||
function smarty_prefilter_pre01($source, &$smarty)
|
||||
{
|
||||
return preg_replace('!<(\w+)[^>]+>!e', 'strtolower("$1")', $source);
|
||||
return preg_replace('!<(\w+)[^>]+>!e', 'strtolower("$1")', $source);
|
||||
}
|
||||
?></programlisting>
|
||||
?>
|
||||
]]>
|
||||
</programlisting>
|
||||
</example>
|
||||
<para></para>
|
||||
<example>
|
||||
<title>plugin de filtre de post-compilation</title>
|
||||
<programlisting>
|
||||
<?php
|
||||
<title>Plugin de filtre de post-compilation</title>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
/*
|
||||
* Smarty plugin
|
||||
* -------------------------------------------------------------
|
||||
@@ -72,12 +75,14 @@
|
||||
* du template.
|
||||
* -------------------------------------------------------------
|
||||
*/
|
||||
function smarty_postfilter_post01($compiled, &$smarty)
|
||||
function smarty_postfilter_post01($compiled, &$smarty)
|
||||
{
|
||||
$compiled = "<pre>\n<?php print_r(\$this->get_template_vars()); ?>\n</pre>" . $compiled;
|
||||
$compiled = "<pre>\n<?php print_r(\$this->get_template_vars()); ?>\n</pre>" . $compiled;
|
||||
return $compiled;
|
||||
}
|
||||
?></programlisting>
|
||||
?>
|
||||
]]>
|
||||
</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
|
||||
@@ -1,18 +1,17 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: 1.1 Maintainer: nobody Status: partial -->
|
||||
<!-- EN-Revision: 1.2 Maintainer: yannick Status: ready -->
|
||||
<sect1 id="plugins.resources"><title>Ressources</title>
|
||||
<para>
|
||||
Les plugins ressources sont un moyen g<>n<EFBFBD>rique de fournir des sources
|
||||
de templates ou des composants de scripts PHP a Smarty. Quelques exemples
|
||||
de ressources : bases de donn<6E>es, LDAP, m<>moire partag<61>e, sockets, et ainsi
|
||||
de suite.
|
||||
de templates ou des composants de scripts PHP <EFBFBD> Smarty. Quelques exemples
|
||||
de ressources : bases de donn<6E>es, LDAP, m<>moire partag<61>e, sockets, etc.
|
||||
</para>
|
||||
<para>
|
||||
Il y au total 4 fonctions qui ont besoin d'<27>tre enregistr<74>es pour
|
||||
chaque type de ressource. Chaque fonction retoit le nom de la ressource demand<6E>e
|
||||
comme premier param<61>tre et l'objet Smarty comme dernier param<61>tre.
|
||||
Les autres param<61>tres d<>pendent de la fonction.
|
||||
chaque type de ressource. Chaque fonction re<EFBFBD>oit le nom de la ressource demand<6E>e
|
||||
comme premier param<61>tre et l'objet Smarty comme dernier param<61>tre.
|
||||
Les autres param<61>tres d<>pendent de la fonction.
|
||||
</para>
|
||||
<funcsynopsis>
|
||||
<funcprototype>
|
||||
@@ -40,31 +39,31 @@
|
||||
</funcsynopsis>
|
||||
|
||||
<para>
|
||||
La premi<6D>re fonction est suppos<6F>e r<>cup<75>rer la ressource. Son second
|
||||
param<61>tre est une variable pass<73>e par r<>f<EFBFBD>rence o<> le r<>sultat doit <20>tre
|
||||
La premi<6D>re fonction est suppos<6F>e r<>cup<75>rer la ressource. Son second
|
||||
param<61>tre est une variable pass<73>e par r<>f<EFBFBD>rence o<> le r<>sultat doit <20>tre
|
||||
stock<63>. La fonction est suppos<6F>e retourner <literal>true</literal> si
|
||||
elle r<>ussi a r<>cup<75>rer la ressource et <literal>false</literal> sinon.
|
||||
elle r<>ussit <20> r<>cup<75>rer la ressource et <literal>false</literal> sinon.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
La seconde fonction est suppos<6F>e r<>cup<75>rer la date de derni<6E>re modification
|
||||
de la ressource demand<6E>e (comme un timestamp UNIX). Le second param<61>tre
|
||||
La seconde fonction est suppos<6F>e r<>cup<75>rer la date de derni<6E>re modification
|
||||
de la ressource demand<6E>e (comme un timestamp UNIX). Le second param<61>tre
|
||||
est une variable pass<73>e par r<>f<EFBFBD>rence dans laquelle la date doit
|
||||
<20>tre stock<63>e. La fonction est suppos<6F>e renvoyer <literal>true</literal> si elle
|
||||
a r<>ussi a r<>cup<75>rer la date et <literal>false</literal> sinon.
|
||||
r<>ussit <20> r<>cup<75>rer la date et <literal>false</literal> sinon.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
La troisi<73>me fonction est suppos<6F>e retourner <literal>true</literal>
|
||||
ou <literal>false</literal> selon si la ressource demand<6E>e est svre
|
||||
La troisi<73>me fonction est suppos<6F>e retourner <literal>true</literal>
|
||||
ou <literal>false</literal> selon si la ressource demand<6E>e est s<EFBFBD>re
|
||||
ou non. La fonction est utilis<69>e seulement pour les ressources templates
|
||||
mais doit tout de m<>me <20>tre d<>finie.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
La quatri<72>me fonction est suppos<6F>e retourner <literal>true</literal>
|
||||
ou <literal>false</literal> selon si on peut faire confiance ou
|
||||
non a la ressource demand<6E>e. Cette fonction est utilis<69>e seulement
|
||||
La quatri<72>me fonction est suppos<6F>e retourner <literal>true</literal>
|
||||
ou <literal>false</literal> selon si l'on peut faire confiance ou
|
||||
non <EFBFBD> la ressource demand<6E>e. Cette fonction est utilis<69>e seulement
|
||||
pour les composants de scripts PHP demand<6E>s par les balises
|
||||
<command>include_php</command> ou <command>insert</command>
|
||||
ayant un attribut <structfield>src</structfield>. Quoiqu'il en soit,
|
||||
@@ -72,14 +71,15 @@
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Regardez aussi
|
||||
<link linkend="api.register.resource">register_resource()</link>,
|
||||
<link linkend="api.unregister.resource">unregister_resource()</link>.
|
||||
</para>
|
||||
<example>
|
||||
<title>resource plugin</title>
|
||||
<programlisting>
|
||||
<?php
|
||||
Lisez <20>galement
|
||||
<link linkend="api.register.resource">register_resource()</link> et
|
||||
<link linkend="api.unregister.resource">unregister_resource()</link>.
|
||||
</para>
|
||||
<example>
|
||||
<title>resource plugin</title>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
/*
|
||||
* Smarty plugin
|
||||
* -------------------------------------------------------------
|
||||
@@ -89,7 +89,7 @@
|
||||
* R<>le : R<>cup<75>re des templates depuis une base de donn<6E>es
|
||||
* -------------------------------------------------------------
|
||||
*/
|
||||
function smarty_resource_db_source($tpl_name, &$tpl_source, &$smarty)
|
||||
function smarty_resource_db_source($tpl_name, &$tpl_source, &$smarty)
|
||||
{
|
||||
// fait des requ<71>tes BD pour r<>cup<75>rer votre template
|
||||
// et remplir $tpl_source
|
||||
@@ -105,7 +105,7 @@ function smarty_resource_db_source($tpl_name, &$tpl_source, &$smarty)
|
||||
}
|
||||
}
|
||||
|
||||
function smarty_resource_db_timestamp($tpl_name, &$tpl_timestamp, &$smarty)
|
||||
function smarty_resource_db_timestamp($tpl_name, &$tpl_timestamp, &$smarty)
|
||||
{
|
||||
// fait des requ<71>tes BD pour remplir $tpl_timestamp
|
||||
$sql = new SQL;
|
||||
@@ -120,19 +120,21 @@ function smarty_resource_db_timestamp($tpl_name, &$tpl_timestamp, &$smar
|
||||
}
|
||||
}
|
||||
|
||||
function smarty_resource_db_secure($tpl_name, &$smarty)
|
||||
function smarty_resource_db_secure($tpl_name, &$smarty)
|
||||
{
|
||||
// suppose que tous les templates sont svrs
|
||||
return true;
|
||||
}
|
||||
|
||||
function smarty_resource_db_trusted($tpl_name, &$smarty)
|
||||
function smarty_resource_db_trusted($tpl_name, &$smarty)
|
||||
{
|
||||
// inutilis<69>e pour les templates
|
||||
}
|
||||
?></programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
?>
|
||||
]]>
|
||||
</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
|
||||
@@ -1,30 +1,34 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: 1.1 Maintainer: nobody Status: partial -->
|
||||
<!-- EN-Revision: 1.2 Maintainer: yannick Status: ready -->
|
||||
<sect1 id="plugins.writing">
|
||||
<title>Ecrire des plugins</title>
|
||||
<para>
|
||||
Les plugins peuvent <20>tre soit charg<72>s automatiquement par Smarty
|
||||
depuis le syst<73>me de fichier, soit <20>tre d<>clar<61>s
|
||||
depuis le syst<73>me de fichier, soit <20>tre d<>clar<61>s
|
||||
pendant l'ex<65>cution via une fonction register_* de l'API. Ils peuvent
|
||||
aussi <20>tre d<>sallou<6F>s en utilisant une fonction unregister_* de
|
||||
l'API.
|
||||
</para>
|
||||
<para>
|
||||
Pour les plugins qui ne sont pas enregistr<74>s pendant l'ex<65>cution, le nom
|
||||
des fonctions n'ont pas a suivre la convention de nommage.
|
||||
des fonctions n'ont pas <EFBFBD> suivre la convention de nommage.
|
||||
</para>
|
||||
<para>
|
||||
Si certaines fonctionnalit<69>s d'un plugin d<>pendent d'un autre plugin
|
||||
(comme c'est le cas de certains plugins accompagnant Smarty), alors la mani<6E>re appropri<72>e
|
||||
de charger le plugin est la suivante :
|
||||
(comme c'est le cas de certains plugins accompagnant Smarty), alors
|
||||
la mani<6E>re appropri<72>e de charger le plugin est la suivante :
|
||||
</para>
|
||||
|
||||
<programlisting>
|
||||
require_once SMARTY_DIR . 'plugins/function.html_options.php';</programlisting>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
require_once $smarty->_get_plugin_filepath('function', 'html_options');
|
||||
?>
|
||||
]]>
|
||||
</programlisting>
|
||||
<para>
|
||||
Une r<>gle g<>n<EFBFBD>rale est que chaque objet Smarty est toujours pass<73> au plugin
|
||||
en tant que dernier param<61>tre (a part pour les modificateurs).
|
||||
Une r<>gle g<>n<EFBFBD>rale est que chaque objet Smarty est toujours pass<73> au plugin
|
||||
en tant que dernier param<61>tre (<EFBFBD> part pour les modificateurs).
|
||||
</para>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
|
||||
Reference in New Issue
Block a user