smarty template engine
Tuesday, October 07, 2008  
download | documentation | faq | forum | mailing lists | changelog | contribs 


search for in the  


register_function()

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 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è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.




 

credits 

Smarty Copyright © 2002-2008
New Digital Group, Inc.

All rights reserved.