Name
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)
où&$object
est une référence d'objet et$method
une chaîne contenant le nom de la méthodeUn tableau sous la forme
array($class, $method)
où$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.
Example 13.22. Exemple avec register_block()
<?php // Déclaration de la fonction function do_translation ($params, $content, &$smarty, &$repeat) { if ($content) { $lang = $params['lang']; // fait de la traduction avec la variable $content echo $translation; } } // Enregistrement avec Smarty $smarty->register_block('translate', 'do_translation'); ?>
Le template Smarty :
{translate lang='br'}Bonjour le monde !{/translate}
Voir aussi
unregister_block()
et
les plugins de fonction de blocs.