Get Smarty

Donate

Donate Bitcoin Bitcoin
Paypal

Smarty Icon

You may use the Smarty logo according to the trademark notice.

Smarty Template Engine Smarty Template Engine

For sponsorship, advertising, news or other inquiries, contact us at:

Sites Using Smarty

Largest classified with thousands of ads at Shoppok

Buy cheap eyeglasses from Cheapglasses123.com and save up to 80%.

Buy prescription glasses from www.australiaglasses.com and save.

Cheap Glasses Now On Sale at GlassesPeople.com. Starts At $7.95.

Where to buy discount wedding dresses and cheap smart dresses free shipping - Weddingdresstrend.com

Find Wedding Dresses Online at Canada from Ca-dresses.com

Find your local domestic cleaner

Brautkleider auf Topwedding.de

Find free files to download on allwhatyouwant.net

Looking For Affordable Wedding Dresses 2015 at Best Prices On TDBridal.com

Advertisement

{insert}

Les balises {insert} fonctionnent à peu près comme les balises {include}, à l'exception que leur sortie n'est PAS placée en cache lorsque le cache du template est activé. Les balises {insert} seront exécutées à chaque appel du template.

Nom attribut Type Requis Defaut Description
name chaîne de caractères Oui n/a le nom de la fonction insert (insert_name)
assign chaîne de caractère Non n/a Le nom de la variable qui recevra la sortie
script chaîne de caractères Non n/a Le nom du script PHP inclus avant que la fonction insert ne soit appelée.
[var ...] [var type] Non n/a Variable à passer à la fonction insert

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.

Example 7.22. Fonction {insert}

{* exemple de récupération d'un bandeau publicitaire *}
{insert name="getBanner" lid=#emplacement_bandeau# sid=#id_site#}
  

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}.

  • 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é.

  • 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.

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 {insert}.

Note technique

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 caching, 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.

Voir aussi {include}

Comments
No comments for this page.
Post a Comment
All comments are moderated. Support questions are ignored, use the forums instead.
Author:
Email: (not shown)
What is 7 plus 2? (Are you human?)

Advertisement

Sponsors [info]

UK Web Hosting @webhost.uk.net
Best Web Hosting @rshosting.com
Web Hosting UK @webhostinguk.com
Unlimited Web Hosting @infrenion.com
App Entwicklung @morphodo.com
First Click Internet Marketing @fcinternetmarketing.com
Credit Card Processing Company