Files
smarty/docs/ru/programmers/api-functions/api-register-block.xml
2008-01-22 21:04:44 +00:00

93 lines
3.1 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="UTF-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 1.3 Maintainer: tony2001 Status: ready -->
<refentry id="api.register.block">
<refnamediv>
<refname>register_block</refname>
<refpurpose></refpurpose>
</refnamediv>
<refsect1>
<title />
<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(&amp;$object, $method)</literal>, где
<literal>&amp;$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</title>
<programlisting role="php">
<![CDATA[
<?php
$smarty->register_block("translate", "do_translation");
function do_translation ($params, $content, &$smarty, &$repeat)
{
if (isset($content)) {
$lang = $params['lang'];
// выполняем перевод $content
return $translation;
}
}
?>
]]>
</programlisting>
<para>
Содержимое шаблона:
</para>
<programlisting>
<![CDATA[
{* шаблон *}
{translate lang="br"}
Hello, world!
{/translate}
]]>
</programlisting>
</example>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->