Name
register_block
void register_block(string name,
mixed impl,
bool cacheable,
mixed cache_attrs);Используйте для динамической регистрации плагинов блоковых функций. В качестве аргументов передаются имя блоковой функции и имя функции, реализующей ее.
Коллбек-функцией php impl может быть (a) строка,
содержащая имя функции, или (b) массив вида
array(&$object, $method), где
&$object является ссылкой на
объект, а $method является строкой,
содержащей имя метода, или (c) массив в форме
array($class, $method), где
$class является именем класса, а
$method является методом этого
класса.
cacheable и cache_attrs
в большинстве случаев могут быть опущены. Смотрите Управление кэшированием результатов работы плагинов
для получения информации об их правильном использовании.
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'];
// выполняем перевод $content
return $translation;
}
}
?>
Содержимое шаблона:
{* шаблон *}
{translate lang="br"}
Hello, world!
{/translate}