Files
smarty/docs/fr/designers/language-builtin-functions/language-function-insert.xml

145 lines
5.3 KiB
XML
Raw Normal View History

2004-04-13 15:43:47 +00:00
<?xml version="1.0" encoding="iso-8859-1"?>
2005-05-10 21:15:40 +00:00
<!-- $Revision$ -->
<!-- EN-Revision: 1.2 Maintainer: gerald Status: ready -->
<sect1 id="language.function.insert">
<title>insert</title>
<informaltable frame="all">
<tgroup cols="5">
<colspec colname="param" align="center" />
<colspec colname="type" align="center" />
<colspec colname="required" align="center" />
<colspec colname="default" align="center" />
<colspec colname="desc" />
<thead>
<row>
<entry>Nom attribut</entry>
<entry>Type</entry>
<entry>Requis</entry>
<entry>Defaut</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry>name</entry>
<entry>cha<EFBFBD>ne de caract<63>res</entry>
<entry>Oui</entry>
<entry><emphasis>n/a</emphasis></entry>
<entry>le nom de la fonction insert (insert_name)</entry>
</row>
<row>
<entry>assign</entry>
<entry>cha<EFBFBD>ne de caract<63>re</entry>
<entry>Non</entry>
<entry><emphasis>n/a</emphasis></entry>
<entry>Le nom de la variable qui recevra la sortie</entry>
</row>
<row>
<entry>script</entry>
<entry>cha<EFBFBD>ne de caract<63>res</entry>
<entry>Non</entry>
<entry><emphasis>n/a</emphasis></entry>
<entry>Le nom du script PHP inclus avant que la fonction
2004-05-23 15:50:53 +00:00
insert ne soit appel<65>e.</entry>
2005-05-10 21:15:40 +00:00
</row>
<row>
<entry>[var ...]</entry>
<entry>[var type]</entry>
<entry>Non</entry>
<entry><emphasis>n/a</emphasis></entry>
<entry>Variable <20> passer <20> la fonction insert</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>
Les balises insert fonctionnent <20> peu pr<70>s comme les balises include,
<20> l'exception que leur sortie n'est pas plac<61>e en cache lorsque
<link linkend="caching">le cache [caching]</link> est activ<69>.
Les balises insert seront ex<65>cut<75>es <20> chaque appel du template.
</para>
<para>
Supposons que vous avez un template avec un emplacement
pour un bandeau publicitaire en haut de page.
Ce bandeau publicitaire peut contenir toutes sortes de contenus
HTML, images, flash, etc. Nous ne pouvons pas placer du contenu
statique <20> cet endroit. Nous ne voulons pas non plus que ce
contenu fasse partie du cache. Arrive alors la balise insert.
Le template connais #emplacement_bandeau# et #id_site# (r<>cup<75>r<EFBFBD>s
depuis un fichier de configuration), et <20> besoin d'un appel de
fonction pour r<>cup<75>rer le contenu du bandeau.
</para>
<example>
<title>function insert</title>
<programlisting>
{* exemple de r<>cup<75>ration d'un bandeau publicitaire *}
{insert name="getBanner" lid=#emplacement_bandeau# sid=#id_site#}</programlisting>
</example>
<para>
Dans cet exemple, nous utilisons le nom getBanner et lui passons les
param<61>tres #emplacement_bandeau# et #id_site#. Smarty va rechercher une
fonction appel<65>e insert_getBanner () dans votre application PHP, et lui
passer les valeurs #banner_location_id# et #site_id# comme premier
param<61>tre, dans un tableau associatif. Tous les noms des fonctions insert
de votre application doivent <20>tre prefix<69>es de "insert_" pour rem<65>dier
<20> d'<27>ventuels conflits de nommage. Votre fonction insert_getBanner ()
est suppos<6F>e traiter les valeurs pass<73>es et retourner
un r<>sultat. Ces r<>sultats sont affich<63>s dans le template en lieu et
place de la balise. Dans cet exemple, Smarty appellera cette fonction
insert_getBanner(array("lid" => "12345","sid" => "67890")); et affichera
le r<>sultat retourn<72> <20> la place de la balise insert.
</para>
2004-05-23 15:44:59 +00:00
<para>
2005-05-10 21:15:40 +00:00
Si vous donnez une valeur <20> l'attribut "assign", la sortie de la balise
insert sera assign<67> <20> une variable de template de ce nom au lieu d'<27>tre
affich<63>e directement. NOTE: assigner la sortie <20> une variable n'est pas
tr<74>s utile lorsque le cache est activ<69>.
</para>
<para>
Si vous donnez une valeur <20> l'attribut "script", ce script PHP sera
inclus (une seule fois) avant l'ex<65>cution de la fonction insert.
Le cas peut survenir lorsque la fonction insert n'existe pas encore,
et que le script PHP charg<72> de sa d<>finission doit <20>tre inclus. Le
chemin doit <20>tre absolu ou relatif <20> $trusted_dir.
Lorsque "security" est actif, le script doit <20>tre situ<74>
dans $trusted_dir.
</para>
<para>
L'objet Smarty est pass<73> comme second argument. De cette fa<66>on, vous
pouvez utiliser ou modifier des informations sur l'objet Smarty,
directement depuis votre fonction d'insertion.
</para>
<note>
<title>Note technique</title>
2004-05-23 15:44:59 +00:00
<para>
2005-05-10 21:15:40 +00:00
Il est possible d'avoir des portions de template qui ne soient pas
g<>rables par le cache. M<>me si vous avez activ<69> l'option
<link linkend="caching">caching</link>, les balises insert
ne feront pas partie du cache. Elles retourneront un contenu dynamique
<20> chaque invocation de la page. Cette m<>thode est tr<74>s pratique pour
des <20>l<EFBFBD>ments tels que les bandeaux publicitaires, les enqu<71>tes,
la m<>t<EFBFBD>o, les r<>sultats de recherche, retours utilisateurs, etc.
2004-05-23 15:50:53 +00:00
</para>
2005-05-10 21:15:40 +00:00
</note>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->