Chapitre 8. Fonctions utilisateur

Table des matières
{assign}
{counter}
{cycle}
{debug}
{eval}
{fetch}
{html_checkboxes}
{html_image}
{html_options}
{html_radios}
{html_select_date}
{html_select_time}
{html_table}
{mailto}
{math}
{popup}
{popup_init}
{textformat}

Smarty est livré avec plusieurs fonctions utilisateurs que vous pouvez appeler dans vos templates.

{assign}

{assign} est utilisé pour déclarer ou modifier des variables de template.

Nom attributTypeRequisDefautDescription
varchaîne de caractèreOuin/aLe nom de la variable assignée
valuechaîne de caractèreOuin/aLa valeur assignée

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. Accès aux variables {assign} depuis un script PHP.

Pour accéder aux variables {assign} depuis PHP, utilisez get_template_vars(). Cependant, les variables ne sont disponibles qu'après ou pendant l'exécution du template, comme le montre l'exemple suivant :

{* index.tpl *}
{assign var="foo" value="Smarty"}
<?php

// ceci n'affichera rien car le template n'a pas encore été exécuté
echo $smarty->get_template_vars('foo');

// Exécution du template
$dead $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().