register_block <methodsynopsis> <type>void</type><methodname>register_block</methodname> <methodparam><type>string</type><parameter>name</parameter></methodparam> <methodparam><type>mixed</type><parameter>impl</parameter></methodparam> <methodparam><type>bool</type><parameter>cacheable</parameter></methodparam> <methodparam><type>mixed</type><parameter>cache_attrs</parameter></methodparam> </methodsynopsis> <para> Используйте для динамической регистрации плагинов блоковых функций. В качестве аргументов передаются имя блоковой функции и имя функции, реализующей ее. </para> <para> Коллбек-функцией php <parameter>impl</parameter> может быть (a) строка, содержащая имя функции, или (b) массив вида <literal>array(&$object, $method)</literal>, где <literal>&$object</literal> является ссылкой на объект, а <literal>$method</literal> является строкой, содержащей имя метода, или (c) массив в форме <literal>array($class, $method)</literal>, где <literal>$class</literal> является именем класса, а <literal>$method</literal> является методом этого класса. </para> <para> <parameter>cacheable</parameter> и <parameter>cache_attrs</parameter> в большинстве случаев могут быть опущены. Смотрите <link linkend="caching.cacheable">Управление кэшированием результатов работы плагинов</link> для получения информации об их правильном использовании. </para> <example> <title>register_block register_block("translate", "do_translation"); function do_translation ($params, $content, &$smarty, &$repeat) { if (isset($content)) { $lang = $params['lang']; // выполняем перевод $content return $translation; } } ?> ]]> Содержимое шаблона: