Table of Contents
Smarty est livré avec plusieurs fonctions utilisateurs que vous pouvez appeler dans vos templates.
{assign}
est utilisé pour déclarer des variables de template
durant l'exécution du template.
Nom attribut | Type | Requis | Defaut | Description |
---|---|---|---|---|
var | chaîne de caractère | Oui | n/a | Le nom de la variable assignée |
value | chaîne de caractère | Oui | n/a | La valeur assignée |
Example 8.1. {assign}
{assign var='name' value='Bob'} La valeur de $name est {$name}.
L'exemple ci-dessus affichera :
La valeur de $name est Bob.
Example 8.2. {assign} avec quelques fonctions mathématiques
Cet exemple complexe doit avoir ces variables entre crochets.
{assign var=running_total value=`$running_total+$some_array[loop].some_value`}
Example 8.3. Accès aux variables {assign} depuis un script PHP
Pour accéder aux variables {assign}
depuis le script PHP, utilisez
get_template_vars()
.
Ci-dessous, le template qui crée la variable $foo
.
{assign var='foo' value='Smarty'}
Les variables de template ne sont disponibles que après/durant l'exécution du template, comme dans le script ci-dessous.
<?php // ceci n'affichera rien car le template n'a pas encore été exécuté echo $smarty->get_template_vars('foo'); // Récupère le template dans une variable $whole_page = $smarty->fetch('index.tpl'); // Ceci affichera 'smarty' car le template a été exécuté echo $smarty->get_template_vars('foo'); $smarty->assign('foo','Even smarter'); // Ceci affichera 'Even smarter' echo $smarty->get_template_vars('foo'); ?>
Les fonctions suivantes peuvent optionnellement assigner des variables de template.
{capture}
,
{include}
,
{include_php}
,
{insert}
,
{counter}
,
{cycle}
,
{eval}
,
{fetch}
,
{math}
et
{textformat}
.
Voir aussi
assign()
et
get_template_vars()
.