What is Smarty?
Why use it?
Use Cases and Work Flow
Syntax Comparison
Template Inheritance
Best Practices
Crash Course
You may use the Smarty logo according to the trademark notice.
For sponsorship, advertising, news or other inquiries, contact us at:
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()
.