Name
register_function() — Déclare dynamiquement des plugins de fonction de templates
Description
void register_function(string name,
mixed impl,
bool cacheable,
mixed cache_attrs);Il faut passer en paramètres le nom de la fonction de templates, suivi par le 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
nameUn tableau sous la forme
array(&$object, $method)où&$objectest une référence d'objet et$methodune chaîne contenant le nom de la méthodeUn tableau sous la forme
array($class, $method)où$classest le nom de la classe et$methodest une méthode de la classe.
Les paramètres cacheable et
cache_attrs peut ê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.23. Exemple avec register_function()
<?php
$smarty->register_function('date_now', 'print_current_date');
function print_current_date ($params) {
extract($params);
if(empty($format))
$format="%b %e, %Y";
echo strftime($format,time());
}
?>
Où le template est :
{date_now}
{* ou, formaté différemment *}
{date_now format="%Y/%m/%d"}
Voir aussi
unregister_function() et
les plugins de fonction.
