Name
register_block
void register_block(string name,
mixed impl,
bool cacheable,
mixed cache_attrs);
Si può usare questa funzione per registrare dinamicamente funzioni plugin per i blocchi. Dovete fornire il nome della funzione di blocco, 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.
Example 13.21. register_block
<?php $smarty->register_block("translate", "do_translation"); function do_translation ($params, $content, &$smarty, &$repeat) { if (isset($content)) { $lang = $params['lang']; // faccio la traduzione di $content return $translation; } } ?>
dove il template è:
{* template *} {translate lang="br"} Hello, world! {/translate}