Smarty est fourni en standard avec plusieurs fonctions natives. Les fonctions natives sont partie intégrante du language de template. Vous ne pouvez pas créer de fonctions utilisateurs qui portent le même nom qu'une fonction native. Vous ne pouvez pas non plus en modifier le comportement.
{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.foo où "foo" est la valeur de l'attribut name. Si vous ne donnez pas de valeur à l'attribut name, alors "default" est utilisé. Toutes les commandes {capture} doivent être utilisées de paire avec {/capture}. Vous pouvez imbriquer les demandes de captures.
| 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. |
Exemple 7-2. Capturer le contenu dans une variable Cet exemple démontre également la fonction {popup}
|
Voir aussi $smarty.capture, {eval}, {fetch}, fetch() et {assign}.
| Précédent | Sommaire | Suivant |
| Combiner des modificateurs de variable. | Niveau supérieur | {config_load} |