sync with EN

This commit is contained in:
yannick
2005-12-04 10:12:15 +00:00
parent 679422efd9
commit 30d17ca20c
5 changed files with 64 additions and 37 deletions

View File

@@ -1,21 +1,22 @@
<?xml version="1.0" encoding="iso-8859-1"?> <?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ --> <!-- $Revision$ -->
<!-- EN-Revision: 1.5 Maintainer: yannick Status: ready --> <!-- EN-Revision: 1.6 Maintainer: yannick Status: ready -->
<sect1 id="advanced.features.objects"> <sect1 id="advanced.features.objects">
<title>Objets</title> <title>Objets</title>
<para> <para>
Smarty donne l'acc<63>s aux objets PHP <20> travers les templates. Il y Smarty donne l'acc<63>s aux <ulink url="&url.php-manual;object">objets</ulink>
a 2 moyens d'y avoir acc<63>s. Le premier consiste <20> PHP <20> travers les templates. Il y a 2 moyens d'y avoir acc<63>s. Le premier consiste <20>
<link linkend="api.register.object">allouer les objets</link> <link linkend="api.register.object">allouer les objets</link>
au template puis de les utiliser avec une syntaxe similaire a celles au template puis de les utiliser avec une syntaxe similaire a celles
des fonctions personnalis<69>es. Le deuxi<78>me moyen consiste <20> des <link linkend="language.custom.functions">fonctions personnalis<69>es</link>.
<link linkend="api.assign">assigner des objets</link> Le deuxi<78>me moyen consiste <20> <link linkend="api.assign">assigner</link> des objets
aux templates et de les utiliser comme n'importe quelle aux templates et de les utiliser comme n'importe quelle
variable. La premi<6D>re m<>thode a une syntaxe beaucoup plus sympathique. variable. La premi<6D>re m<>thode a une syntaxe beaucoup plus sympathique.
Elle est aussi plus s<>curis<69>e, puisqu'un objet allou<6F> ne peut avoir acc<63>s Elle est aussi plus s<>curis<69>e, puisqu'un objet allou<6F> ne peut avoir acc<63>s
qu'a certaines m<>thodes et propri<72>t<EFBFBD>s. N<>anmoins, qu'a certaines m<>thodes et propri<72>t<EFBFBD>s. N<>anmoins,
<emphasis role="bold">un objet allou<6F> ne peut pas avoir de lien sur lui-m<>me <emphasis role="bold">un objet allou<6F> ne peut pas avoir de lien sur lui-m<>me
ou <20>tre mis dans un tableau d'objet</emphasis>, etc. ou <20>tre mis dans un tableau d'objet</emphasis>, etc.
Vous devez choisir la m<>thode qui correspond a vos Vous devez choisir la m<>thode qui correspond a vos
besoins, mais tGchez d'utiliser la premi<6D>re m<>thode autant que possible besoins, mais tGchez d'utiliser la premi<6D>re m<>thode autant que possible
afin de r<>duire la syntaxe des templates au minimum. afin de r<>duire la syntaxe des templates au minimum.
@@ -64,22 +65,22 @@
class My_Object() { class My_Object() {
function meth1($params, &$smarty_obj) { function meth1($params, &$smarty_obj) {
return "this is my meth1"; return 'Ceci est ma methode 1';
} }
} }
$myobj = new My_Object; $myobj = new My_Object;
// enregistre l'objet // enregistre l'objet
$smarty->register_object("foobar",$myobj); $smarty->register_object('foobar',$myobj);
// on restreint l'acc<63>s a certaines m<>thodes et propri<72>t<EFBFBD>s en les listant // on restreint l'acc<63>s a certaines m<>thodes et propri<72>t<EFBFBD>s en les listant
$smarty->register_object("foobar",$myobj,array('meth1','meth2','prop1')); $smarty->register_object('foobar',$myobj,array('meth1','meth2','prop1'));
// pour utiliser le format habituel de param<61>tre objet, passez le bool<6F>en = false // pour utiliser le format habituel de param<61>tre objet, passez le bool<6F>en = false
$smarty->register_object("foobar",$myobj,null,false); $smarty->register_object('foobar',$myobj,null,false);
// on peut aussi assigner des objets. Assignez par r<>f<EFBFBD>rence quand c'est possible // on peut aussi assigner des objets. Assignez par r<>f<EFBFBD>rence quand c'est possible
$smarty->assign_by_ref("myobj", $myobj); $smarty->assign_by_ref('myobj', $myobj);
$smarty->display("index.tpl"); $smarty->display('index.tpl');
?> ?>
?> ?>
@@ -102,6 +103,11 @@ the output was {$output)
]]> ]]>
</programlisting> </programlisting>
</example> </example>
<para>
Voir aussi
<link linkend="api.register.object">register_object()</link> et
<link linkend="api.assign">assign()</link>.
</para>
</sect1> </sect1>
<!-- Keep this comment at the end of the file <!-- Keep this comment at the end of the file

View File

@@ -1,14 +1,15 @@
<?xml version="1.0" encoding="iso-8859-1"?> <?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ --> <!-- $Revision$ -->
<!-- EN-Revision: 1.3 Maintainer: yannick Status: ready --> <!-- EN-Revision: 1.4 Maintainer: yannick Status: ready -->
<sect1 id="advanced.features.postfilters"> <sect1 id="advanced.features.postfilters">
<title>Filtres de post-compilation</title> <title>Filtres de post-compilation</title>
<para> <para>
Les filtres de post-compilation sont des fonctions PHP que vos templates Les filtres de post-compilation sont des fonctions PHP que vos templates
ex<65>cutent apr<70>s avoir <20>t<EFBFBD> compil<69>s. Les filtres de post-compilation peuvent ex<65>cutent apr<70>s avoir <20>t<EFBFBD> compil<69>s. Les filtres de post-compilation peuvent
<20>tre soit <link linkend="api.register.postfilter">d<EFBFBD>clar<EFBFBD>s</link>, soit charg<72>s <20>tre soit <link linkend="api.register.postfilter">d<EFBFBD>clar<EFBFBD>s</link>, soit charg<72>s
depuis les r<EFBFBD>pertoires des plugins en utilisant la fonction depuis les <link linkend="variable.plugins.dir">r<EFBFBD>pertoires des plugins</link>
<link linkend="api.load.filter">load_filter()</link> ou en r<>glant 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>. la variable <link linkend="variable.autoload.filters">$autoload_filters</link>.
Smarty passera le template compil<69> en tant que premier param<61>tre et attendra Smarty passera le template compil<69> en tant que premier param<61>tre et attendra
de la fonction qu'elle retourne le r<>sultat de l'ex<65>cution. de la fonction qu'elle retourne le r<>sultat de l'ex<65>cution.
@@ -25,8 +26,8 @@ function add_header_comment($tpl_source, &$smarty)
} }
// enregistre le filtre de post-compilation // enregistre le filtre de post-compilation
$smarty->register_postfilter("add_header_comment"); $smarty->register_postfilter('add_header_comment');
$smarty->display("index.tpl"); $smarty->display('index.tpl');
?> ?>
]]> ]]>
</programlisting> </programlisting>
@@ -40,7 +41,14 @@ $smarty->display("index.tpl");
]]> ]]>
</screen> </screen>
</example> </example>
<para>
Voir aussi
<link linkend="api.register.postfilter">register_postfilter()</link>,
<link linkend="advanced.features.prefilters">les pr<70>-filtres</link> et
<link linkend="api.load.filter">load_filter()</link>.
</para>
</sect1> </sect1>
<!-- Keep this comment at the end of the file <!-- Keep this comment at the end of the file
Local variables: Local variables:
mode: sgml mode: sgml
@@ -60,4 +68,4 @@ $smarty->display("index.tpl");
vim600: syn=xml fen fdm=syntax fdl=2 si vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml vim: et tw=78 syn=sgml
vi: ts=1 sw=1 vi: ts=1 sw=1
--> -->

View File

@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="iso-8859-1"?> <?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ --> <!-- $Revision$ -->
<!-- EN-Revision: 1.9 Maintainer: yannick Status: ready --> <!-- EN-Revision: 1.10 Maintainer: yannick Status: ready -->
<chapter id="api.functions"> <chapter id="api.functions">
<title>M<EFBFBD>thodes</title> <title>M<EFBFBD>thodes</title>
&programmers.api-functions.api-append; &programmers.api-functions.api-append;
@@ -31,7 +32,7 @@
&programmers.api-functions.api-register-prefilter; &programmers.api-functions.api-register-prefilter;
&programmers.api-functions.api-register-resource; &programmers.api-functions.api-register-resource;
&programmers.api-functions.api-trigger-error; &programmers.api-functions.api-trigger-error;
&programmers.api-functions.api-template-exists; &programmers.api-functions.api-template-exists;
&programmers.api-functions.api-unregister-block; &programmers.api-functions.api-unregister-block;
&programmers.api-functions.api-unregister-compiler-function; &programmers.api-functions.api-unregister-compiler-function;
@@ -42,7 +43,7 @@
&programmers.api-functions.api-unregister-postfilter; &programmers.api-functions.api-unregister-postfilter;
&programmers.api-functions.api-unregister-prefilter; &programmers.api-functions.api-unregister-prefilter;
&programmers.api-functions.api-unregister-resource; &programmers.api-functions.api-unregister-resource;
</chapter> </chapter>
<!-- Keep this comment at the end of the file <!-- Keep this comment at the end of the file
@@ -64,4 +65,4 @@ End:
vim600: syn=xml fen fdm=syntax fdl=2 si vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml vim: et tw=78 syn=sgml
vi: ts=1 sw=1 vi: ts=1 sw=1
--> -->

View File

@@ -1,9 +1,10 @@
<?xml version="1.0" encoding="iso-8859-1"?> <?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ --> <!-- $Revision$ -->
<!-- EN-Revision: 1.3 Maintainer: yannick Status: ready --> <!-- EN-Revision: 1.4 Maintainer: yannick Status: ready -->
<chapter id="api.variables"> <chapter id="api.variables">
<title>Variables</title> <title>Variables</title>
&programmers.api-variables.variable-template-dir; &programmers.api-variables.variable-template-dir;
&programmers.api-variables.variable-compile-dir; &programmers.api-variables.variable-compile-dir;
&programmers.api-variables.variable-config-dir; &programmers.api-variables.variable-config-dir;
@@ -39,6 +40,7 @@
&programmers.api-variables.variable-use-sub-dirs; &programmers.api-variables.variable-use-sub-dirs;
&programmers.api-variables.variable-default-modifiers; &programmers.api-variables.variable-default-modifiers;
&programmers.api-variables.variable-default-resource-type; &programmers.api-variables.variable-default-resource-type;
</chapter> </chapter>
<!-- Keep this comment at the end of the file <!-- Keep this comment at the end of the file
Local variables: Local variables:
@@ -59,4 +61,4 @@ End:
vim600: syn=xml fen fdm=syntax fdl=2 si vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml vim: et tw=78 syn=sgml
vi: ts=1 sw=1 vi: ts=1 sw=1
--> -->

View File

@@ -1,35 +1,44 @@
<?xml version="1.0" encoding="iso-8859-1"?> <?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ --> <!-- $Revision$ -->
<!-- EN-Revision: 1.4 Maintainer: yannick Status: ready --> <!-- EN-Revision: 1.7 Maintainer: yannick Status: ready -->
<chapter id="smarty.constants"> <chapter id="smarty.constants">
<title>Constantes</title> <title>Constantes</title>
<sect1 id="constant.smarty.dir"> <sect1 id="constant.smarty.dir">
<title>SMARTY_DIR</title> <title>SMARTY_DIR</title>
<para> <para>
Il doit s'agir du chemin complet du r<>pertoire o<> Il doit s'agir du <emphasis role="bold">chemin complet</emphasis>
se trouvent les fichiers classes de Smarty. du r<>pertoire o<> se trouvent les fichiers classes de Smarty.
S'il n'est pas d<>fini, Smarty essaiera alors d'en S'il n'est pas d<>fini, Smarty essaiera alors d'en
d<>terminer automatiquement la valeur. d<>terminer automatiquement la valeur.
S'il est d<>fini, le chemin doit se terminer par un slash. S'il est d<>fini, le chemin <emphasis role="bold">doit se terminer par un slash</emphasis>.
</para> </para>
<example> <example>
<title>SMARTY_DIR</title> <title>SMARTY_DIR</title>
<programlisting role="php"> <programlisting role="php">
<![CDATA[ <![CDATA[
<?php <?php
// d<>finit le chemin du r<>pertoire de Smarty (sur un syst<73>me *nix)
define('SMARTY_DIR','/usr/local/lib/php/Smarty/libs/');
// d<>finit le chemin du r<>pertoire de Smarty // d<>finit le chemin du r<>pertoire de Smarty (sur un syst<73>me Windows)
define("SMARTY_DIR","/usr/local/lib/php/Smarty/"); define('SMARTY_DIR','c:/webroot/libs/Smarty/libs/');
require_once(SMARTY_DIR."Smarty.class.php"); // astuce (non recommend<6E>) qui fonctionne sous Windows et sous *nix
// Smarty est suppos<6F> <20>tre dans le dossier 'include' du script courant
define('SMARTY_DIR',str_replace("\\","/",getcwd()).'/includes/Smarty/libs/');
// inclut la classe Smarty. Notez le 'S' en majuscule
require_once(SMARTY_DIR.'Smarty.class.php');
?> ?>
]]> ]]>
</programlisting> </programlisting>
</example> </example>
<para> <para>
Voir aussi Voir aussi
<link linkend="language.variables.smarty.const">$smarty.const</link>. <link linkend="language.variables.smarty.const">$smarty.const</link> et
<link linkend="variable.php.handling">$php_handling constants</link>.
</para> </para>
</sect1> </sect1>
<sect1 id="constant.smarty.core.dir"> <sect1 id="constant.smarty.core.dir">
@@ -38,7 +47,7 @@ require_once(SMARTY_DIR."Smarty.class.php");
Il doit s'agir du chemin complet du r<>pertoire o<> Il doit s'agir du chemin complet du r<>pertoire o<>
se trouvent les fichiers internes de Smarty. S'il n'est se trouvent les fichiers internes de Smarty. S'il n'est
pas d<>fini, Smarty placera comme valeur par d<>faut la pas d<>fini, Smarty placera comme valeur par d<>faut la
valeur de la constante pr<70>c<EFBFBD>dente valeur de la constante pr<70>c<EFBFBD>dente
<link linkend="constant.smarty.dir">SMARTY_DIR</link>. S'il est <link linkend="constant.smarty.dir">SMARTY_DIR</link>. S'il est
d<>fini, le chemin doit se terminer par un slash. Utilisez cette d<>fini, le chemin doit se terminer par un slash. Utilisez cette
constante lorsque vous incluez manuellement n'importe constante lorsque vous incluez manuellement n'importe
@@ -49,9 +58,10 @@ require_once(SMARTY_DIR."Smarty.class.php");
<programlisting role="php"> <programlisting role="php">
<![CDATA[ <![CDATA[
<?php <?php
// chargement de core.get_microtime.php
require_once(SMARTY_CORE_DIR."core.get_microtime.php"); // chargement de core.get_microtime.php
require_once(SMARTY_CORE_DIR.'core.get_microtime.php');
?> ?>
]]> ]]>
</programlisting> </programlisting>