|
|

|
Chapitre 4. Variables
Smarty possède différents types de variables. Le type de ces variables dépend
du symbole qui les préfixe, ou des symboles qui les entourent.
Les variables de Smarty peuvent être soit affichées directement, soit utilisées
comme arguments pour les
fonctions
et modificateurs, à l'intérieur d'expressions
conditionnelles, etc.
Pour afficher une variable, il suffit de l'entourer par des
délimiteurs de
telle sorte qu'elle soit la seule chose qu'ils contiennent.
Exemple 4-1. Exemple de variables {$Nom}
{$Contacts[enreg].Telephone}
<body bgcolor="{#bgcolor#}"> |
|
Astuce : La façon de la simple d'analyser les variables Smarty est
d'utiliser la
console de débogage.
Variables assignées depuis PHP
Pour utiliser une variables assignées depuis PHP, il
faut la préfixer par le symbole dollar $.
Les variables asignées depuis un template grâce à la fonction
{assign} sont
manipulées de la même façon.
Exemple 4-2. Variables assignées Script PHP
<?php
$smarty = new Smarty;
$smarty->assign('firstname', 'Doug'); $smarty->assign('lastname', 'Evans'); $smarty->assign('meetingPlace', 'New York');
$smarty->display('index.tpl');
?>
|
Où index.tpl est :
Bonjour {$firstname} {$lastname}, heureux de voir que tu es arrivé ici.
<br />
{* ceci ne fonctionnera pas car $vars est sensible à la casse *}
Cette semaine, le meeting est à {$meetingplace}.
{* ceci fonctionnera *}
Cette semaine, le meeting est à {$meetingPlace}. |
Affichera :
Bienvenue Doug, heureux de voir que tu es arrivé ici.
<br />
Cette semaine, le meeting est à .
Cette semaine, le meeting est à New York. |
|
Tableaux associatifs
Vous pouvez également utiliser des variables sous forme de tableaux
associatifs assignées depuis PHP en en spécifiant la clef,
après le symbole '.' (point).
Exemple 4-3. Accéder aux variables de tableaux associatifs
<?php
$smarty->assign('Contacts', array('fax' => '555-222-9876', 'email' => 'zaphod@slartibartfast.example.com', 'phone' => array('home' => '555-444-3333', 'cell' => '555-111-1234') ) ); $smarty->display('index.tpl'); ?>
|
Où index.tpl est :
{$Contacts.fax}<br />
{$Contacts.email}<br />
{* vous pouvez afficher des tableaux de tableaux *}
{$Contacts.phone.home}<br />
{$Contacts.phone.cell}<br /> |
Affichera :
555-222-9876<br />
zaphod@slartibartfast.example.com<br />
555-444-3333<br />
555-111-1234<br /> |
|
Tableaux indexés
Vous pouvez utiliser des tableaux indexés de la même façon
que vous le faites en PHP.
Exemple 4-4. Accès aux tableaux grâce à l'index
<?php $smarty->assign('Contacts', array( '555-222-9876', 'zaphod@slartibartfast.example.com', array('555-444-3333', '555-111-1234') )); $smarty->display('index.tpl'); ?>
|
Où index.tpl est :
{$Contacts[0]}<br />
{$Contacts[1]}<br />
{* Vous pouvez également afficher des tableaux *}
{$Contacts[2][0]}<br />
{$Contacts[2][1]}<br /> |
Affichera :
555-222-9876<br />
zaphod@slartibartfast.example.com<br />
555-444-3333<br />
555-111-1234<br /> |
|
Objets
Les attributs des objets
assignés depuis PHP peuvent être utilisées en
en spécifiant le nom après le symbole ->.
Exemple 4-5. Accéder aux attributs des objets nom: {$person->name}<br />
email: {$person->email}<br /> |
Affichera :
nom: Zaphod Beeblebrox<br />
email: zaphod@slartibartfast.example.com<br /> |
|
|
|
|