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.
Variables assignéesScript PHP
assign('firstname', 'Doug');
$smarty->assign('lastname', 'Evans');
$smarty->assign('meetingPlace', 'New York');
$smarty->display('index.tpl');
?>
]]>
Où index.tpl est :
{* 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 :
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).
Accéder aux variables de tableaux associatifs
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.email}
{* vous pouvez afficher des tableaux de tableaux *}
{$Contacts.phone.home}
{$Contacts.phone.cell}
]]>
Affichera :
zaphod@slartibartfast.example.com
555-444-3333
555-111-1234
]]>
Tableaux indexés
Vous pouvez utiliser des tableaux indexés de la même façon
que vous le faites en PHP.
Accès aux tableaux grâce à l'index
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[1]}
{* Vous pouvez également afficher des tableaux *}
{$Contacts[2][0]}
{$Contacts[2][1]}
]]>
Affichera :
zaphod@slartibartfast.example.com
555-444-3333
555-111-1234
]]>
Objets
Les attributs des objets
assignés depuis PHP peuvent être utilisées en
en spécifiant le nom après le symbole ->.
Accéder aux attributs des objets
name}
email: {$person->email}
]]>
Affichera :
email: zaphod@slartibartfast.example.com
]]>