What is Smarty?
Why use it?
Use Cases and Work Flow
Syntax Comparison
Template Inheritance
Best Practices
Crash Course
You may use the Smarty logo according to the trademark notice.
For sponsorship, advertising, news or other inquiries, contact us at:
register_function() — Déclare dynamiquement des plugins de fonction de templates
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.
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.