smarty template engine
Thursday, January 08, 2009  
download | documentation | faq | forum | mailing lists | changelog | contribs 


search for in the  


register_function

register_function -- 

void register_function ( string name, mixed impl [, bool cacheable [, mixed cache_attrs]])

Si può usare questa funzione per registrare dinamicamente funzioni plugin per i template. Dovete fornire il nome della funzione di template, seguito dalla funzione PHP da richiamare che implementa tale funzione.

Il parametro impl, contenente la funzione callback, può avere uno dei seguenti valori: (a) una stringa contenente il nome della funzione (b) un array nella forma array(&$oggetto, $metodo), dove &$oggetto è il riferimento ad un oggetto e $metodo è una stringa contenente il nome di un metodo (c) un array nella forma array(&$classe, $metodo) dove $classe è un nome di classe e $metodo è un metodo statico della classe.

cacheable e cache_attrs possono essere omessi nella maggioranza dei casi. Consultate Controllo della Cache per l'output dei Plugins per capire come usarli.

Esempio 13-1. register_function

<?php
$smarty
->register_function("date_now""print_current_date");

function 
print_current_date($params
{
  if(empty(
$params['format'])) {
    
$format "%b %e, %Y";
  } else {
    
$format $params['format'];
    return 
strftime($format,time());
  }
}

// ora potete usare questa funzione in Smarty per stampare la data attuale: {date_now}
// oppure {date_now format="%Y/%m/%d"} per formattarla.
?>



 

credits 

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

All rights reserved.