Smarty est livré avec plusieurs fonctions utilisateurs que vous pouvez
appeler dans vos templates.
{assign}
{assign} est utilisé pour déclarer des variables de template
durant l'exécution du template.
Exemple 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. |
|
Exemple 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`} |
|
Exemple 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().