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 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éthode
Un 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è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.
Exemple 13-1. 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.