void register_block( |
name, | |
| impl, | ||
| cacheable, | ||
cache_attrs); |
string name;mixed impl;bool cacheable;array or null cache_attrs;Use isso para registrar dinamicamente blocos de funções de plugins. Passe no bloco de nomes de função, seguido por uma chamada de função PHP que implemente isso.
A chamada de uma função-php impl pode ser (a)
uma string contendo o nome da função ou (b) um array no formato
array(&$object, $method) com
&$object sendo uma referência para um
objeto e $method sendo uma string
contendo o nome do método ou (c) um array no formato
array(&$class, $method) com
$class sendo um nome de classe e
$method sendo um
método desta classe.
$cacheable e $cache_attrs podem ser omitidos na maior parte dos casos. Veja Controlando modos de Saída de Cache dos Plugins para obter informações apropriadas.
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'];
// do some translation with $content
return $translation;
}
}
{* template *}
{translate lang="br"}
Hello, world!
{/translate}