What is Smarty?
Why use it?
Use Cases and Work Flow
Syntax Comparison
Template Inheritance
Best Practices
Crash Course
You may use the Smarty logo according to the trademark notice.
For sponsorship, advertising, news or other inquiries, contact us at:
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}