Manuel Smarty

Chapitre 8. Fonctions utilisateur

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.

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

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.

  1. <?php
  2.  
  3. // ceci n'affichera rien car le template n'a pas encore été exécuté
  4. echo $smarty->get_template_vars('foo');  
  5.  
  6. // Récupère le template dans une variable
  7. $whole_page = $smarty->fetch('index.tpl');  
  8.  
  9. // Ceci affichera 'smarty' car le template a été exécuté
  10. echo $smarty->get_template_vars('foo');  
  11.  
  12. $smarty->assign('foo','Even smarter');  
  13.  
  14. // Ceci affichera 'Even smarter'
  15. echo $smarty->get_template_vars('foo');  
  16.  
  17. ?> 

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().


Remonter Remonter
L'éditeur javascript - CSS - Gentoo - Tutoriaux PHP - Tutoriels PHP - Bretagne - php - Moto - Kit graphique