mirror of
				https://github.com/smarty-php/smarty.git
				synced 2025-10-31 20:31:41 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			145 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			145 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
| <?xml version="1.0" encoding="iso-8859-1"?>
 | |
|  <!-- $Revision$ -->
 | |
|  <!-- EN-Revision: 1.1 Maintainer: nobody Status: partial -->
 | |
|  <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îne de caractè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îne de caractè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îne de caractères</entry>
 | |
|       <entry>Non</entry>
 | |
|       <entry><emphasis>n/a</emphasis></entry>
 | |
|       <entry>Le nom du script PHP inclus avant que la fonction
 | |
|       insert ne soit appelée.</entry>
 | |
|      </row>
 | |
|      <row>
 | |
|       <entry>[var ...]</entry>
 | |
|       <entry>[var type]</entry>
 | |
|       <entry>Non</entry>
 | |
|       <entry><emphasis>n/a</emphasis></entry>
 | |
|       <entry>Variable à passer à la fonction insert</entry>
 | |
|      </row>
 | |
|     </tbody>
 | |
|    </tgroup>
 | |
|   </informaltable>
 | |
|   <para>
 | |
|    Les balises insert fonctionnent à peu près comme les balises include,
 | |
|    à l'exception que leur sortie n'est pas placée en cache lorsque
 | |
|    <link linkend="caching">le cache [caching]</link> est activé.
 | |
|     Les balises insert seront exécutées à 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 à 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érés
 | |
|     depuis un fichier de configuration), et à besoin d'un appel de
 | |
|     fonction pour récupérer le contenu du bandeau.
 | |
|    </para>
 | |
|    <example>
 | |
|     <title>function insert</title>
 | |
| <programlisting>
 | |
| {* exemple de récupé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ètres #emplacement_bandeau# et #id_site#. Smarty va rechercher une
 | |
|     fonction appelée insert_getBanner () dans votre application PHP, et lui
 | |
|     passer les valeurs #banner_location_id# et #site_id# comme premier
 | |
|     paramètre, dans un tableau associatif. Tous les noms des fonctions insert
 | |
|     de votre application doivent être prefixées de "insert_" pour remédier
 | |
|     à d'éventuels conflits de nommage. Votre fonction insert_getBanner ()
 | |
|     est supposée traiter les valeurs passées et retourner
 | |
|     un résultat. Ces résultats sont affiché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é à la place de la balise insert.
 | |
|    </para>
 | |
|    <para>
 | |
|     Si vous donnez une valeur à l'attribut "assign", la sortie de la balise
 | |
|     insert sera assigné à une variable de template de ce nom au lieu d'être
 | |
|     affichée	directement. NOTE: assigner la sortie à une variable n'est pas
 | |
|     très utile lorsque le cache est activé.
 | |
|    </para>
 | |
|    <para>
 | |
|     Si vous donnez une valeur à l'attribut "script", ce script PHP sera
 | |
|     inclus (une seule fois) avant l'exécution de la fonction insert.
 | |
|     Le cas peut survenir lorsque la fonction insert n'existe pas encore,
 | |
|     et que le script PHP chargé de sa définission doit être inclus. Le
 | |
|     chemin doit être absolu ou relatif à $trusted_dir.
 | |
|     Lorsque "security" est actif, le script doit être situé
 | |
|     dans $trusted_dir.
 | |
|    </para>
 | |
|    <para>
 | |
|     L'objet Smarty est passé comme second argument. De cette façon, vous
 | |
|     pouvez utiliser ou modifier des informations sur l'objet Smarty,
 | |
|     directement depuis votre fonction d'insertion.
 | |
|    </para>
 | |
|    <note>
 | |
|     <title>Note technique</title>
 | |
|     <para>
 | |
|      Il est possible d'avoir des portions de template qui ne soient pas
 | |
|      gérables par le cache. Même si vous avez activé l'option
 | |
|      <link linkend="caching">caching</link>, les balises insert
 | |
|       ne feront pas partie du cache. Elles retourneront un contenu dynamique
 | |
|       à chaque invocation de la page. Cette méthode est très pratique pour
 | |
|       des éléments tels que les bandeaux publicitaires, les enquêtes,
 | |
|       la météo, les résultats de recherche, retours utilisateurs, etc.
 | |
|      </para>
 | |
|     </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
 | |
|    -->
 |