register_blockvoid register_blockstring namemixed implbool cacheablearray 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.
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}