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
в большинстве случаев могут быть опущены. Смотрите Управление кэшированием результатов работы плагинов
для получения информации об их правильном использовании.
Пример 13-1. 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} |
|