Get Smarty

Donate

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

Advertisement

Chapter 7. Fonctions natives

Smarty est fourni en standard avec plusieurs fonctions natives. Ces fonctions natives sont partie intégrante du moteur de Smarty. Vous ne pouvez pas créer de fonctions utilisateurs qui portent le même nom qu'une fonction native et vous ne pouvez pas non plus en modifier le comportement.

Quelques-unes de ces fonctions ont un attribut assign qui récupère le résultat de la fonction et la place dans une variable nommée dans le template plutôt que de l'afficher ; tout comme la fonction {assign}.

{capture}

{capture} est utilisé pour récupérer la sortie d'éléments dans une variable au lieu de les afficher. Tout contenu situé entre {capture name='foo'} et {/capture} est intercepté dans une variable dont le nom est spécifié dans l'attribut name.

Le contenu capturé peut être utilisé dans le template par l'intermédiaire de la variable spéciale $smarty.capture.foofoo est la valeur de l'attribut name. Si vous ne donnez pas de valeur à l'attribut name, alors default est utilisé en tant que nom, i.e. $smarty.capture.default.

{capture} peut être imbriqué.

Attribut Type Requis Defaut Description
name string non default Le nom du bloc capturé
assign string non n/a Le nom de la variable à laquelle la sortie sera assignée

Attention

Faîtes attention lorsque vous interceptez la sortie de commandes {insert}. Si vous avez configuré le cache pour que ce dernier soit actif, et que vous avez des commandes {insert} supposées s'exécuter dans un contenu en cache, ne tentez pas de capturer ce contenu.

Example 7.1. {capture} avec le nom de l'attribut


{* nous ne voulons afficher une balise div que si le contenu est affiché. *}
{capture name=banner}
  {include file='get_banner.tpl'}
{/capture}
{if $smarty.capture.banner ne ""}
<div id="banner">{$smarty.capture.banner}</div>
{/if}

   


Example 7.2. {capture} dans une variable de template

Cet exemple démontre également la fonction {popup}


{capture name=some_content assign=popText}
Le serveur est {$smarty.server.SERVER_NAME|upper} sur {$smarty.server.SERVER_ADDR}<br>
Votre IP est {$smarty.server.REMOTE_ADDR}.
{/capture}
<a href="#" {popup caption='Information sur le serveur' text=$popText}>Aide</a>

   


Voir aussi $smarty.capture, {eval}, {fetch}, fetch() et {assign}.

Comments
No comments for this page.

Advertisement

Sponsors [info]

Sponsors