Smarty Icon

You may use the Smarty logo according to the trademark notice.

Smarty Template Engine Smarty Template Engine

For sponsorship, advertising, news or other inquiries, contact us at:

Sites Using Smarty

Advertisement

register_block

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}