Manuel Smarty

register_block()

register_block() -- Déclare dynamiquement des plugins de fonction de blocs

Description

void register_block ( string name, mixed impl, bool cacheable, mixed cache_attrs)

Utilisée pour déclarer dynamiquement des plugins de fonction de blocs. Il faut passer en paramètre le nom de la fonction de blocs, suivi du nom de la fonction PHP qui l'implémente.

La fonction PHP de callback function peut être soit :

  • Une chaîne de caractères contenant la fonction name

  • Un tableau sous la forme array(&$object, $method)&$object est une référence d'objet et $method une chaîne contenant le nom de la méthode

  • Un tableau sous la forme array($class, $method)$class est le nom de la classe et $method est une méthode de la classe.

Les paramètre cacheable et cache_attrs peuvent être omis dans la plupart des cas. Voir Contrôler la mise en cache des sorties des Plugins pour plus d'informations concernant cette utilisation.

Exemple 13-1. Exemple avec register_block()

  1. <?php
  2. // Déclaration de la fonction
  3. function do_translation ($params, $content, &$smarty, &$repeat) { 
  4.    if ($content) { 
  5.       $lang = $params['lang']; 
  6.       // fait de la traduction avec la variable $content
  7.       echo $translation; 
  8.    }  
  9. }  
  10.  
  11. // Enregistrement avec Smarty
  12. $smarty->register_block('translate', 'do_translation');  
  13. ?> 

Le template Smarty :

{translate lang='br'}Bonjour le monde !{/translate}

Voir aussi unregister_block() et les plugins de fonction de blocs.


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