cvs: smarty /docs/ru/programmers plugins.xml /docs/ru/programmers/plugins plugins-block-functions.xml plugins-compiler-functions.xml plugins-functions.xml plugins-inserts.xml plugins-modifiers.xml plugins-naming-conventions.xml plugins-outputfilters.xml plugins-prefilters-postfilters.xml plugins-resources.xml plugins-writing.xml
"Antony Dovgal" <[email protected]>
| Newsgroups | gmane.comp.php.cvs.smarty |
|---|---|
| Message-ID | <cvstony20011086935186@cvsserver> |
tony2001 Fri Jun 11 02:26:26 2004 EDT
Modified files:
/smarty/docs/ru/programmers plugins.xml
/smarty/docs/ru/programmers/plugins plugins-block-functions.xml
plugins-compiler-functions.xml
plugins-functions.xml
plugins-inserts.xml
plugins-modifiers.xml
plugins-naming-conventions.xml
plugins-outputfilters.xml
plugins-prefilters-postfilters.xml
plugins-resources.xml
plugins-writing.xml
Log:
add new translations by nw [at] webdevel [dot] ru
(with minor corrections by me)
--
Smarty CVS Mailing List (http://cvs.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
tony2001-20040611022626.txt
(text/plain, 66.4 KB)
http://cvs.php.net/diff.php/smarty/docs/ru/programmers/plugins.xml?r1=1.7&r2=1.8&ty=u
Index: smarty/docs/ru/programmers/plugins.xml
diff -u smarty/docs/ru/programmers/plugins.xml:1.7 smarty/docs/ru/programmers/plugins.xml:1.8
--- smarty/docs/ru/programmers/plugins.xml:1.7 Fri May 28 17:03:29 2004
+++ smarty/docs/ru/programmers/plugins.xml Fri Jun 11 02:26:26 2004
@@ -1,49 +1,50 @@
<?xml version="1.0" encoding="windows-1251"?>
-<!-- $Revision: 1.7 $ -->
+<!-- $Revision: 1.8 $ -->
<chapter id="plugins">
- <title>Extending Smarty With Plugins</title>
+ <title>Ïëàãèíû - ðàñøèðåíèå ôóíêöèîíàëà Smarty</title>
<para>
- Version 2.0 introduced the plugin architecture that is used
- for almost all the customizable functionality of Smarty. This includes:
+ Àðõèòåêòóðà âåðñèè 2.0 ïîçâîëÿåò âíåäðÿòü ïëàãèíû, êîòîðûìè ÿâëÿþòñÿ
+ ïðàêòè÷åñêè âñå íàñòðàèâàåìûå ýëåìåíòû ôóíêöèîíàëà Smarty. Ñþäà âõîäÿò:
<itemizedlist spacing="compact">
- <listitem><simpara>functions</simpara></listitem>
- <listitem><simpara>modifiers</simpara></listitem>
- <listitem><simpara>block functions</simpara></listitem>
- <listitem><simpara>compiler functions</simpara></listitem>
- <listitem><simpara>prefilters</simpara></listitem>
- <listitem><simpara>postfilters</simpara></listitem>
- <listitem><simpara>outputfilters</simpara></listitem>
- <listitem><simpara>resources</simpara></listitem>
- <listitem><simpara>inserts</simpara></listitem>
+ <listitem><simpara>ôóíêöèè</simpara></listitem>
+ <listitem><simpara>ìîäèôèêàòîðû</simpara></listitem>
+ <listitem><simpara>áëîêîâûå ôóíêöèè</simpara></listitem>
+ <listitem><simpara>ôóíêöèè êîìïèëÿòîðà</simpara></listitem>
+ <listitem><simpara>ïðåôèëüòðû</simpara></listitem>
+ <listitem><simpara>ïîñòôèëüòðû</simpara></listitem>
+ <listitem><simpara>ôèëüòðû âûâîäà</simpara></listitem>
+ <listitem><simpara>ðåñóðñû</simpara></listitem>
+ <listitem><simpara>âñòàâêè</simpara></listitem>
</itemizedlist>
- With the exception of resources, backwards compatibility with the old
- way of registering handler functions via register_* API is preserved. If
- you did not use the API but instead modified the class variables
- <literal>$custom_funcs</literal>, <literal>$custom_mods</literal>, and
- other ones directly, then you will need to adjust your scripts to either
- use the API or convert your custom functionality into plugins.
+ Çà èñêëþ÷åíèåì ðåñóðñîâ, â öåëÿõ îáðàòíîé ñîâìåñòèìîñòè ñ ïðåäûäóùèìè âåðñèÿìè, ñîõðàíåíà
+ âîçìîæíîñòü ðåãèñòðàöèè ôóíêöèé ïîñðåäñòâîì register_* API.
+ Åñëè âû íå èñïîëüçóåòå API, à âìåñòî ýòîãî ìîäèôèöèðóåòå
+ <literal>$custom_funcs</literal>, <literal>$custom_mods</literal> è íåêîòîðûå äðóãèå
+ ïåðåìåííûå íàïðÿìóþ, òîãäà âàì ïðèäåòñÿ ïîäîãíàòü âàøè ñêðèïòû ïîä èñïîëüçîâàíèå
+ API èëè ïðåîáðàçîâàòü äîáàâëåííóþ âàìè ôóíêöèîíàëüíîñòü â ïëàãèíû.
</para>
<sect1>
- <title>How Plugins Work</title>
+ <title>Êàê ðàáîòàþò ïëàãèíû</title>
<para>
- Plugins are always loaded on demand. Only the specific modifiers,
- functions, resources, etc invoked in the templates scripts will be
- loaded. Moreover, each plugin is loaded only once, even if you have
- several different instances of Smarty running within the same request.
+ Ïëàãèíû çàãðóæàþòñÿ òîëüêî ïðè íåîáõîäèìîñòè. Çàãðóæåííûìè îêàæóòñÿ
+ òîëüêî òîëüêî òå ìîäèôèêàòîðû, ôóíêöèè,ðåñóðñû è ò.ï., êîòîðûå
+ îïðåäåëåíû â ñêðèïòå øàáëîíà. Áîëåå òîãî, êàæäûé ïëàãèí çàãðóæàåòñÿ
+ ëèøü îäèí ðàç, äàæå åñëè ó âàñ èìååòñÿ íåñêîëüêî ðàçëè÷íûõ ýêçåìïëÿðîâ
+ îáúåêòà Smarty, âûïîëíÿåìûõ âíóòðè îäíîãî çàïðîñà.
</para>
<para>
- Pre/postfilters and output filters are a bit of a special case. Since
- they are not mentioned in the templates, they must be registered or
- loaded explicitly via API functions before the template is processed.
- The order in which multiple filters of the same type are executed
- depends on the order in which they are registered or loaded.
+ Ïðå/ïîñòôèëüòðû è ôèëüòðû âûâîäà - ýòî îòäåëüíûé ñëó÷àé. Òàê êàê
+ îíè íå óïîìèíàþòñÿ â øàáëîíàõ, èõ íåîáõîäèìî çàðåãèñòðèðîâàòü
+ èëè ÿâíî çàãðóçèòü ñ ïîìîùüþ API-ôóíêöèé ïåðåä îáðàáîòêîé øàáëîíà.
+ Ïîðÿäîê èñïîëíåíèÿ ìíîæåñòâåííûõ ôèëüòðîâ çàâèñèò îò ïîðÿäêà, â êîòîðîì
+ îíè áûëè çàðåãèñòðèðîâàíû èëè çàãðóæåíû.
</para>
<para>
- There is only one plugins directory (for performance reasons). To
- install a plugin, simply place it in the directory and Smarty will use
- it automatically.
+ Â öåëÿõ îïòèìèçàöèè ïðîèçâîäèòåëüíîñòè, ïîä ïëàãèíû îòâåäåíà îäíà
+ ñïåöèàëüíàÿ äèðåêòîðèÿ. ×òîáû óñòàíîâèòü ïëàãèí, ïðîñòî ïîìåñòèòå åãî
+ â ýòó äèðåêòîðèþ è Smarty áóäåò èñïîëüçîâàòü åãî â àâòîìàòè÷åñêîì ðåæèìå.
</para>
</sect1>
http://cvs.php.net/diff.php/smarty/docs/ru/programmers/plugins/plugins-block-functions.xml?r1=1.1&r2=1.2&ty=u
Index: smarty/docs/ru/programmers/plugins/plugins-block-functions.xml
diff -u smarty/docs/ru/programmers/plugins/plugins-block-functions.xml:1.1 smarty/docs/ru/programmers/plugins/plugins-block-functions.xml:1.2
--- smarty/docs/ru/programmers/plugins/plugins-block-functions.xml:1.1 Tue Apr 13 07:46:23 2004
+++ smarty/docs/ru/programmers/plugins/plugins-block-functions.xml Fri Jun 11 02:26:26 2004
@@ -1,77 +1,83 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.1 $ -->
- <sect1 id="plugins.block.functions"><title>Block Functions</title>
- <funcsynopsis>
- <funcprototype>
- <funcdef>void <function>smarty_block_<replaceable>name</replaceable></function></funcdef>
- <paramdef>array <parameter>$params</parameter></paramdef>
- <paramdef>mixed <parameter>$content</parameter></paramdef>
- <paramdef>object <parameter>&$smarty</parameter></paramdef>
- </funcprototype>
- </funcsynopsis>
- <para>
- Block functions are functions of the form: {func} .. {/func}. In other
- words, they enclose a template block and operate on the contents of
- this block. Block functions take precedence over custom functions of
- the same name, that is, you cannot have both custom function {func} and
- block function {func} .. {/func}.
- </para>
- <para>
- Your function implementation is called twice by Smarty:
- once for the opening tag, and once for the closing tag.
- </para>
- <para>
- Only the opening tag of the block function may have attributes. All
- attributes passed to template functions from the template are contained
- in the <parameter>$params</parameter> as an associative array. You can
- either access those values directly, e.g.
- <varname>$params['start']</varname> or use
- <varname>extract($params)</varname> to import them into the symbol
- table. The opening tag attributes are also accessible to your function
- when processing the closing tag.
- </para>
- <para>
- The value of <parameter>$content</parameter> variable depends on
- whether your function is called for the opening or closing tag. In case
- of the opening tag, it will be <literal>null</literal>, and in case of
- the closing tag it will be the contents of the template block.
- Note that the template block will have already been processed by
- Smarty, so all you will receive is the template output, not the
- template source.
- </para>
- <para>
- If you have nested block functions, it's possible to find out what the
- parent block function is by accessing
- <varname>$smarty->_tag_stack</varname> variable. Just do a var_dump()
- on it and the structure should be apparent.
- </para>
- <para>
- See also:
- <link linkend="api.register.block">register_block()</link>,
- <link linkend="api.unregister.block">unregister_block()</link>.
- </para>
- <example>
- <title>block function</title>
- <programlisting>
-<?php
+<?xml version="1.0" encoding="windows-1251"?>
+<!-- $Revision: 1.2 $ -->
+<!-- EN-Revision: 1.1 -->
+<sect1 id="plugins.block.functions">
+ <title>Áëîêîâûå ôóíêöèè</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>void <function>smarty_block_<replaceable>name</replaceable></function></funcdef>
+ <paramdef>array <parameter>$params</parameter></paramdef>
+ <paramdef>mixed <parameter>$content</parameter></paramdef>
+ <paramdef>object <parameter>&$smarty</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Áëîêîâûå ôóíêöèè âûãëÿäÿò ñëåäóþùèì îáðàçîì: {func} .. {/func}. Äðóãèìè ñëîâàìè,
+ îíè çàêëþ÷åíû â îïðåäåëåííîì áëîêå øàáëîíà è îïåðèðóþò ñîäåðæèìûì ýòîãî áëîêà.
+ Áëîêîâûå ôóíêöèè èìåþò ïðèîðèòåò ïåðåä ïîëüçîâàòåëüñêèìè ôóíêöèÿìè, èìåþùèìè òî æå èìÿ,
+ ïîýòîìó, âû íå ñìîæåòå èñïîëüçîâàòü îäíîâðåìåííî ñâîè ôóíêöèè âèäà {func} è
+ áëîêîâûå ôóíêöèè {func} .. {/func}.
+ </para>
+ <para>
+ Smarty âûçûâàåò âàøè ôóíêöèè äâàæäû:
+ ïåðâûé ðàç ïðè îòêðûòèè òýãà è âòîðîé ðàç ïðè çàêðûòèè òýãà.
+ </para>
+ <para>
+ Òîëüêî îòêðûâàþùèé òýã áëîêîâîé ôóíêöèè ìîæåò èìåòü àòðèáóòû. Âñå
+ àòðèáóòû, ïåðåäàííûå â ôóíêöèþ èç øàáëîíà ñîõðàíÿþòñÿ
+ â <parameter>$params</parameter> â âèäå àññîöèàòèâíîãî ìàññèâà. Âû ìîæåòå
+ ïîëó÷èòü ïðÿìîé äîñòóï ê èõ çíà÷åíèÿì:
+ <varname>$params['start']</varname> èëè èñïîëüçîâàòü
+ <varname>extract($params)</varname> äëÿ èìïîðòà.
+ Àòðèáóòû, ïåðåäàííûå â îòêðûâàþùåì òýãå äîñòóïíû äëÿ âàøåé ôóíêöèè
+ äî îáðàáîòêè çàêðûâàþùåãî òýãà âêëþ÷èòåëüíî.
+ </para>
+ <para>
+ Çíà÷åíèå ïåðåìåííîé <parameter>$content</parameter> çàâèñèò îò òîãî,
+ âûçûâàåòñÿ ëè âàøà ôóíêöèÿ äëÿ îòðûâàþùåãî òýãà èëè âûçîâ ïðîèñõîäèò ïðè çàêðûòèè òýãà.
+  ñëó÷àå ñ îòêðûâàþùèì òýãîì, ýòî çíà÷åíèå áóäåò ðàâíî <literal>null</literal>, à â ñëó÷àå
+ çàêðûâàþùåãî òýãà, çíà÷åíèå áóäåò ðàâíî ñîäåðæèìîìó áëîêà â øàáëîíå.
+ Çàìåòüòå, ÷òî ýòîò áëîê øàáëîíà óæå áóäåò îáðàáîòàí
+ Smarty è íà âûâîäå âû ïîëó÷èòå ðåçóëüòàò îáðàáîòêè, à íå
+ èñõîäíûé êîä øàáëîíà.
+ </para>
+ <para>
+ Åñëè âû èñïîëüçóåòå âëîæåííûå áëîêîâûå ôóíêöèè, åñòü âîçìîæíîñòü îïðåäåëÿòü ðîäèòåëüñêèå
+ áëîêîâûå ôóíêöèè. Äîñòàòî÷íî ïîëó÷èòü çíà÷åíèå ïåðåìåííîé
+ <varname>$smarty->_tag_stack</varname>. Çàòåì îñòàíåòñÿ òîëüêî ïðèìåíèòü var_dump()
+ äëÿ íåå è ñòðóêòóðà áóäåò âèäíà.
+ </para>
+ <para>
+ Ñìîòðèòå òàêæå:
+ <link linkend="api.register.block">register_block()</link>,
+ <link linkend="api.unregister.block">unregister_block()</link>.
+ </para>
+ <example>
+ <title>Áëîêîâàÿ ôóíêöèÿ</title>
+ <programlisting>
+<![CDATA[
+<?php
/*
* Smarty plugin
* -------------------------------------------------------------
- * File: block.translate.php
- * Type: block
- * Name: translate
- * Purpose: translate a block of text
+ * Ôàéë: block.translate.php
+ * Òèï: block
+ * Èìÿ: translate
+ * Íàçíà÷åíèå: ïåðåâåñòè áëîê (êóñîê) òåêñòà
* -------------------------------------------------------------
*/
function smarty_block_translate($params, $content, &$smarty)
{
if ($content) {
$lang = $params['lang'];
- // do some intelligent translation thing here with $content
+ // çäåñü âûïîëíèòü èíòåëëåêòóàëüíûé ïåðåâîä ñòðîêè $content
echo $translation;
}
-}</programlisting>
- </example>
+}
+?>
+]]>
+ </programlisting>
+ </example>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
@@ -92,4 +98,4 @@
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
--->
\ No newline at end of file
+-->
http://cvs.php.net/diff.php/smarty/docs/ru/programmers/plugins/plugins-compiler-functions.xml?r1=1.1&r2=1.2&ty=u
Index: smarty/docs/ru/programmers/plugins/plugins-compiler-functions.xml
diff -u smarty/docs/ru/programmers/plugins/plugins-compiler-functions.xml:1.1 smarty/docs/ru/programmers/plugins/plugins-compiler-functions.xml:1.2
--- smarty/docs/ru/programmers/plugins/plugins-compiler-functions.xml:1.1 Tue Apr 13 07:46:23 2004
+++ smarty/docs/ru/programmers/plugins/plugins-compiler-functions.xml Fri Jun 11 02:26:26 2004
@@ -1,66 +1,75 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.1 $ -->
- <sect1 id="plugins.compiler.functions"><title>Compiler Functions</title>
- <para>
- Compiler functions are called only during compilation of the template.
- They are useful for injecting PHP code or time-sensitive static
- content into the template. If there is both a compiler function and a
- custom function registered under the same name, the compiler function
- has precedence.
- </para>
- <funcsynopsis>
- <funcprototype>
- <funcdef>mixed <function>smarty_compiler_<replaceable>name</replaceable></function></funcdef>
- <paramdef>string <parameter>$tag_arg</parameter></paramdef>
- <paramdef>object <parameter>&$smarty</parameter></paramdef>
- </funcprototype>
- </funcsynopsis>
- <para>
- The compiler function is passed two parameters: the tag argument
- string - basically, everything from the function name until the ending
- delimiter, and the Smarty object. It's supposed to return the PHP code
- to be injected into the compiled template.
- </para>
- <para>
- See also
- <link linkend="api.register.compiler.function">register_compiler_function()</link>,
- <link linkend="api.unregister.compiler.function">unregister_compiler_function()</link>.
- </para>
- <example>
- <title>simple compiler function</title>
- <programlisting>
+<?xml version="1.0" encoding="windows-1251"?>
+<!-- $Revision: 1.2 $ -->
+<!-- EN-Revision: 1.1 -->
+<sect1 id="plugins.compiler.functions">
+ <title>Ôóíêöèè êîìïèëÿòîðà</title>
+ <para>
+ Ôóíêöèè êîìïèëÿòîðà, êàê âû íàâåðíîå äîãàäàëèñü, âûçûâàþòñÿ
+ òîëüêî â ïðîöåññå êîìïèëÿöèè øàáëîíà. Îíè ìîãóò áûòü ïîëåçíûìè
+ äëÿ âñòàâêè êîäà PHP èëè ÷óâñòâèòåëüíîãî êî âðåìåíè ñòàòè÷åñêîãî
+ êîíòåíòà â øàáëîí. Åñëè îäíîâðåìåííî çàðåãåñòðèðîâàíû äâå
+ îäíîèìåííûå ôóíêöèè - ïîëüçîâàòåëüñêàÿ è êîìïèëÿòîðà, òî ïðèîðèòåò
+ áóäåò ó ôóíêöèè êîìïèëÿòîðà.
+ </para>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>mixed <function>smarty_compiler_<replaceable>name</replaceable></function></funcdef>
+ <paramdef>string <parameter>$tag_arg</parameter></paramdef>
+ <paramdef>object <parameter>&$smarty</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Ôóíêöèÿ êîìïèëÿòîðà èìååò äâà ïàðàìåòðà: ñòðîêó àðãóìåíòîâ òýãà -
+ ÷àùå âñåãî ýòî âñå, ÷òî ñëåäóåò îò íàèìåíîâàíèÿ ôóíêöèè äî ïðàâîãî
+ îãðàíè÷èòåëÿ, è îáúåêò Smarty. Ôóíêöèÿ äîëæíà âîçâðàùàòü PHP-êîä
+ äëÿ âñòâêè â ñêîìïèëèðîâàííûé øàáëîí.
+ </para>
+ <para>
+ Ñìîòðèòå òàêæå
+ <link linkend="api.register.compiler.function">register_compiler_function()</link>,
+ <link linkend="api.unregister.compiler.function">unregister_compiler_function()</link>.
+ </para>
+ <example>
+ <title>Ïðîñòîé ïðèìåð ôóíêöèè êîìïèëÿòîðà</title>
+ <programlisting>
<![CDATA[
-<?php
+<?php
/*
- * Smarty plugin
- * -------------------------------------------------------------
- * File: compiler.tplheader.php
- * Type: compiler
- * Name: tplheader
- * Purpose: Output header containing the source file name and
- * the time it was compiled.
- * -------------------------------------------------------------
- */
+* Smarty plugin
+* -------------------------------------------------------------
+* Ôàéë: compiler.tplheader.php
+* Òèï: compiler
+* Èìÿ: tplheader
+* Íàçíà÷åíèå: âûâåñòè çàãîëîâîê, ñîäåðæàùèé èìÿ èñõîäíîãî ôàéëà è
+* âðåìÿ, êîãäà îí áûë ñêîìïèëèðîâàí.
+* -------------------------------------------------------------
+*/
function smarty_compiler_tplheader($tag_arg, &$smarty)
{
- return "\necho '" . $smarty->_current_file . " compiled at " . date('Y-m-d H:M'). "';";
+return "\necho '" . $smarty->_current_file . " compiled at " . date('Y-m-d H:M'). "';";
}
-?>
+?>
]]></programlisting>
- <para>
- This function can be called from the template as:
- </para>
- <programlisting>
-{* this function gets executed at compile time only *}
-{tplheader}</programlisting>
- <para>
- The resulting PHP code in the compiled template would be something like this:
- </para>
- <programlisting>
-<php
+ <para>
+ Ýòà ôóíêöèÿ ìîæåò áûòü âûçâàíà èç øàáëîíà ñëåäóþùèì îáðàçîì:
+ </para>
+ <programlisting>
+<![CDATA[
+{* Ôóíêöèÿ âûïîëíÿåòñÿ òîëüêî ïðè êîìïèëÿöèè øàáëîíà *}
+{tplheader}
+]]>
+ </programlisting>
+ <para>
+ Ðåçóëüòèðóþùèé êîä PHP â ñêîìïèëèðîâàííîì øàáëîíå áóäåò âûãëÿäåòü ïðèìåðíî òàê:
+ </para>
+ <programlisting>
+<![CDATA[
+<?php
echo 'index.tpl compiled at 2002-02-20 20:02';
-?></programlisting>
- </example>
+?>
+]]>
+ </programlisting>
+ </example>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
@@ -81,4 +90,4 @@
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
--->
\ No newline at end of file
+-->
http://cvs.php.net/diff.php/smarty/docs/ru/programmers/plugins/plugins-functions.xml?r1=1.1&r2=1.2&ty=u
Index: smarty/docs/ru/programmers/plugins/plugins-functions.xml
diff -u smarty/docs/ru/programmers/plugins/plugins-functions.xml:1.1 smarty/docs/ru/programmers/plugins/plugins-functions.xml:1.2
--- smarty/docs/ru/programmers/plugins/plugins-functions.xml:1.1 Tue Apr 13 07:46:23 2004
+++ smarty/docs/ru/programmers/plugins/plugins-functions.xml Fri Jun 11 02:26:26 2004
@@ -1,42 +1,44 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.1 $ -->
- <sect1 id="plugins.functions"><title>Template Functions</title>
- <funcsynopsis>
- <funcprototype>
- <funcdef>void <function>smarty_function_<replaceable>name</replaceable></function></funcdef>
- <paramdef>array <parameter>$params</parameter></paramdef>
- <paramdef>object <parameter>&$smarty</parameter></paramdef>
- </funcprototype>
- </funcsynopsis>
- <para>
- All attributes passed to template functions from the template are
- contained in the <parameter>$params</parameter> as an associative
- array. Either access those values directly, e.g.
- <varname>$params['start']</varname> or use
- <varname>extract($params)</varname> to import them into the symbol
- table.
- </para>
- <para>
- The output (return value) of the function will be substituted in place of the
- function tag in the template (<function>fetch</function> function, for
- example). Alternatively, the function can simply perform some other
- task without any output (<function>assign</function> function).
- </para>
- <para>
- If the function needs to assign some variables to the template or use
- some other Smarty-provided functionality, it can use the supplied
- <parameter>$smarty</parameter> object to do so.
- </para>
- <para>
- See also:
- <link linkend="api.register.function">register_function()</link>,
- <link linkend="api.unregister.function">unregister_function()</link>.
- </para>
- <para>
- <example>
- <title>function plugin with output</title>
- <programlisting>
-<?php
+<?xml version="1.0" encoding="windows-1251"?>
+<!-- $Revision: 1.2 $ -->
+<!-- EN-Revision: 1.1 -->
+<sect1 id="plugins.functions">
+ <title>Ôóíêöèè øàáëîíà</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>void <function>smarty_function_<replaceable>name</replaceable></function></funcdef>
+ <paramdef>array <parameter>$params</parameter></paramdef>
+ <paramdef>object <parameter>&$smarty</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Âñå àòðèáóòû, ïåðåäàâàåìûå â ôóíêöèè øàáëîíà èç ñàìîãî øàáëîíà,
+ õðàíÿòñÿ â <parameter>$params</parameter> â âèäå àññîöèàòèâíîãî ìàññèâà.
+ Ïîëó÷èòü äîñòóï ê åãî çíà÷åíèÿì ìîæíî íàïðÿìóþ:
+ <varname>$params['start']</varname> èëè èñïîëüçóÿ
+ <varname>extract($params)</varname> äëÿ èìïîðòà â òàáëèöó.
+ </para>
+ <para>
+ Âûâîä (âîçâðàùàåìîå çíà÷åíèå) ôóíêöèè áóäåò ïîäñòàâëåí â ìåñòî ðàñïîëîæåíèÿ
+ òåãà ôóíêöèè â øàáëîíå (ôóíêöèÿ <function>fetch</function> íàïðèìåð).
+  êà÷åñòâå àëüòåðíàòèâû, ôóíêöèÿ ìîæåò âûïîëíÿòü êàêèå ëèáî äåéñòâèÿ
+ áåç êàêîãî-ëèáî âûâîäà (<function>assign</function> ôóíêöèÿ).
+ </para>
+ <para>
+ Åñëè ôóíêöèÿ äîëæíà ïðèñâîèòü(assign) çíà÷åíèÿ íåêîòîðûì ïåðåìåííûì â øàáëîíå èëè
+ èñïîëüçîâàòü èíûå âîçìîæíîñòè Smarty, òî ìîæíî ðàáîòàòü ñ îáúåêòîì
+ <parameter>$smarty</parameter> êàê îáû÷íî.
+ </para>
+ <para>
+ Ñì. òàêæå:
+ <link linkend="api.register.function">register_function()</link>,
+ <link linkend="api.unregister.function">unregister_function()</link>.
+ </para>
+ <para>
+ <example>
+ <title>Ôóíêöèÿ-ïëàãèí ñ âûâîäîì</title>
+ <programlisting>
+<![CDATA[
+<?php
/*
* Smarty plugin
* -------------------------------------------------------------
@@ -48,30 +50,36 @@
*/
function smarty_function_eightball($params, &$smarty)
{
- $answers = array('Yes',
- 'No',
- 'No way',
- 'Outlook not so good',
- 'Ask again soon',
- 'Maybe in your reality');
+ $answers = array('Äà',
+ 'Íåò',
+ 'Íèêîèì îáðàçîì',
+ 'Ïåðñïåêòèâà òàê ñåáå...',
+ 'Ñïðîñèòå ïîçæå',
+ 'Âñå ìîæåò áûòü');
$result = array_rand($answers);
return $answers[$result];
}
-?></programlisting>
- </example>
- </para>
- <para>
- which can be used in the template as:
- </para>
+?>
+]]>
+ </programlisting>
+ </example>
+ </para>
+ <para>
+ êîòîðàÿ ìîæåò áûòü èñïîëüçîâàíà â øàáëîíå ñëåäóþùèì îáðàçîì:
+ </para>
+ <programlisting>
+<![CDATA[
+Âîïðîñ: Ìû êîãäà-íèáóäü íàéäåì âðåìÿ äëÿ îòïóñêà?
+Îòâåò: {eightball}.
+]]>
+ </programlisting>
+ <para>
+ <example>
+ <title>Ôóíêöèÿ-ïëàãèí áåç âûâîäà</title>
<programlisting>
-Question: Will we ever have time travel?
-Answer: {eightball}.</programlisting>
- <para>
- <example>
- <title>function plugin without output</title>
- <programlisting>
-<?php
+<![CDATA[
+<?php
/*
* Smarty plugin
* -------------------------------------------------------------
@@ -97,9 +105,11 @@
$smarty->assign($var, $value);
}
-?></programlisting>
- </example>
- </para>
+?>
+]]>
+ </programlisting>
+ </example>
+ </para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
@@ -120,4 +130,4 @@
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
--->
\ No newline at end of file
+-->
http://cvs.php.net/diff.php/smarty/docs/ru/programmers/plugins/plugins-inserts.xml?r1=1.1&r2=1.2&ty=u
Index: smarty/docs/ru/programmers/plugins/plugins-inserts.xml
diff -u smarty/docs/ru/programmers/plugins/plugins-inserts.xml:1.1 smarty/docs/ru/programmers/plugins/plugins-inserts.xml:1.2
--- smarty/docs/ru/programmers/plugins/plugins-inserts.xml:1.1 Tue Apr 13 07:46:23 2004
+++ smarty/docs/ru/programmers/plugins/plugins-inserts.xml Fri Jun 11 02:26:26 2004
@@ -1,41 +1,42 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.1 $ -->
- <sect1 id="plugins.inserts"><title>Inserts</title>
- <para>
- Insert plugins are used to implement functions that are invoked by
- <link linkend="language.function.insert"><command>insert</command></link>
- tags in the template.
- </para>
- <funcsynopsis>
- <funcprototype>
- <funcdef>string <function>smarty_insert_<replaceable>name</replaceable></function></funcdef>
- <paramdef>array <parameter>$params</parameter></paramdef>
- <paramdef>object <parameter>&$smarty</parameter></paramdef>
- </funcprototype>
- </funcsynopsis>
- <para>
- The first parameter to the function is an associative array of
- attributes passed to the insert. Either access those values directly,
- e.g. <varname>$params['start']</varname> or use
- <varname>extract($params)</varname> to import them into the symbol
- table.
- </para>
- <para>
- The insert function is supposed to return the result which will be
- substituted in place of the <command>insert</command> tag in the
- template.
- </para>
- <example>
- <title>insert plugin</title>
- <programlisting>
-<?php
+<?xml version="1.0" encoding="windows-1251"?>
+<!-- $Revision: 1.2 $ -->
+<!-- EN-Revision: 1.1 -->
+<sect1 id="plugins.inserts">
+ <title>Âñòàâêè</title>
+ <para>
+ Ïëàãèíû âñòàâîê èñïîëüçóþòñÿ äëÿ èñïîëíåíèÿ ôóíêöèé, âûçûâàåìûõ òýãîì
+ <link linkend="language.function.insert"><command>insert</command></link>
+ â øàáëîíå.
+ </para>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>smarty_insert_<replaceable>name</replaceable></function></funcdef>
+ <paramdef>array <parameter>$params</parameter></paramdef>
+ <paramdef>object <parameter>&$smarty</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Ïåðâûé ïàðàìåòð ôóíêöèè ïðåäñòàâëÿåò ñîáîé àññîöèàòèâíûé ìàññèâ àòðèáóòîâ,
+ ïåðåäàíûõ äëÿ âñòàâêè. Äîñòóï ê ýòèì çíà÷åíèÿì ìîæíî ïîëó÷èòü êàê íàïðÿìóþ:
+ ò.å. <varname>$params['start']</varname> òàê è èñïîëüçóÿ
+ <varname>extract($params)</varname> äëÿ èìïîðòà.
+ </para>
+ <para>
+ Ôóíêöèÿ âñòàâêè âîçâðàùàåò ðåçóëüòàò, êîòîðûì áóäåò
+ çàìåíåí òýã <command>insert</command> â øàáëîíå.
+ </para>
+ <example>
+ <title>Ïëàãèí âñòàâêè</title>
+ <programlisting>
+<![CDATA[
+<?php
/*
* Smarty plugin
* -------------------------------------------------------------
- * File: insert.time.php
- * Type: time
- * Name: time
- * Purpose: Inserts current date/time according to format
+ * Ôàéë: insert.time.php
+ * Òèï: time
+ * Èìÿ: time
+ * Íàçíà÷åíèå: Âñòàâêà òåêóùåé äàòû/âðåìåíè â îïðåäåëåííîì ôîðìàòå
* -------------------------------------------------------------
*/
function smarty_insert_time($params, &$smarty)
@@ -48,8 +49,10 @@
$datetime = strftime($params['format']);
return $datetime;
}
-?></programlisting>
- </example>
+?>
+]]>
+ </programlisting>
+ </example>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
@@ -70,4 +73,4 @@
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
--->
\ No newline at end of file
+-->
http://cvs.php.net/diff.php/smarty/docs/ru/programmers/plugins/plugins-modifiers.xml?r1=1.1&r2=1.2&ty=u
Index: smarty/docs/ru/programmers/plugins/plugins-modifiers.xml
diff -u smarty/docs/ru/programmers/plugins/plugins-modifiers.xml:1.1 smarty/docs/ru/programmers/plugins/plugins-modifiers.xml:1.2
--- smarty/docs/ru/programmers/plugins/plugins-modifiers.xml:1.1 Tue Apr 13 07:46:23 2004
+++ smarty/docs/ru/programmers/plugins/plugins-modifiers.xml Fri Jun 11 02:26:26 2004
@@ -1,69 +1,73 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.1 $ -->
- <sect1 id="plugins.modifiers"><title>Modifiers</title>
- <para>
- Modifiers are little functions that are applied to a variable in the
- template before it is displayed or used in some other context.
- Modifiers can be chained together.
- </para>
- <funcsynopsis>
- <funcprototype>
- <funcdef>mixed <function>smarty_modifier_<replaceable>name</replaceable></function></funcdef>
- <paramdef>mixed <parameter>$value</parameter></paramdef>
- <paramdef>[mixed <parameter>$param1</parameter>, ...]</paramdef>
- </funcprototype>
- </funcsynopsis>
- <para>
- The first parameter to the modifier plugin is the value on which
- the modifier is supposed to operate. The rest of the parameters can be
- optional, depending on what kind of operation is supposed to be
- performed.
- </para>
- <para>
- The modifier has to return the result of its processing.
- </para>
- <para>
- See also
- <link linkend="api.register.modifier">register_modifier()</link>,
- <link linkend="api.unregister.modifier">unregister_modifier()</link>.
- </para>
- <example>
- <title>simple modifier plugin</title>
- <para>
- This plugin basically aliases one of the built-in PHP functions. It
- does not have any additional parameters.
- </para>
- <programlisting>
-<?php
+<?xml version="1.0" encoding="windows-1251"?>
+<!-- $Revision: 1.2 $ -->
+<!-- EN-Revision: 1.1 -->
+<sect1 id="plugins.modifiers">
+ <title>Ìîäèôèêàòîðû</title>
+ <para>
+ Ìîäèôèêàòîðû - ýòî ìàëåíüêèå ôóíêöèè, êîòîðûå âîçäåéñòâóþò íà ïåðåìåííûå â
+ øàáëîíå ïåðåä òåì, êàê òå áóäóò âûâåäåíû íà ýêðàí èëè èñïîëüçîâàíû â èíîì êîíòåêñòå.
+ Äëÿ êàæäîé ïåðåìåííîé øàáëîíà, îäíîâðåìåííî ìîãóò áûòü èñïîëüçîâàíû íåñêîëüêî ìîäèôèêàòîðîâ.
+ </para>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>mixed <function>smarty_modifier_<replaceable>name</replaceable></function></funcdef>
+ <paramdef>mixed <parameter>$value</parameter></paramdef>
+ <paramdef>[mixed <parameter>$param1</parameter>, ...]</paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Ïåðâûé ïàðàìåòð ïëàãèíà-ìîäèôèêàòîðà ýòî çíà÷åíèå â îòíîøåíèè êîòîðîãî
+ ìîäèôèêàòîð áóäåò ïðèìåíåí. Îñòàëüíûå ïàðàìåòðû ìîãóò áûòü
+ ïðîèçâîëüíûìè, â çàâèñèìîñòè îò îïåðàöèé, êîòîðûå îíè îñóùåñòâëÿþò.
+ </para>
+ <para>
+ Ìîäèôèêàòîð äîëæåí âîçâðàùàòü ðåçóëüòàò, ïîëó÷åííûé â ïðîöåññå ñâîåãî âûïîëíåíèÿ.
+ </para>
+ <para>
+ Ñìîòðèòå òàêæå:
+ <link linkend="api.register.modifier">register_modifier()</link>,
+ <link linkend="api.unregister.modifier">unregister_modifier()</link>.
+ </para>
+ <example>
+ <title>Ïðîñòîé ïëàãèí-ìîäèôèêàòîð</title>
+ <para>
+ Ýòîò ïëàãèí â ñâîåé îñíîâå ÿâëÿåòñÿ àíàëîãîì îäíîé èç PHP-ôóíêöèé. Îí
+ íå èìååò íèêàêèõ äîïîëíèòåëüíûõ ïàðàìåòðîâ.
+ </para>
+ <programlisting>
+<![CDATA[
+<?php
/*
* Smarty plugin
* -------------------------------------------------------------
- * File: modifier.capitalize.php
- * Type: modifier
- * Name: capitalize
- * Purpose: capitalize words in the string
+ * Ôàéë: modifier.capitalize.php
+ * Òèï: modifier
+ * Èìÿ: capitalize
+ * Íàçíà÷åíèå: Ñäåëàòü ïåðâóþ áóêâó êàæäîãî ñëîâà â
+ * ñòðîêå ïðîïèñíîé
* -------------------------------------------------------------
*/
function smarty_modifier_capitalize($string)
{
return ucwords($string);
}
-?></programlisting>
- </example>
- <para></para>
- <example>
- <title>more complex modifier plugin</title>
- <programlisting>
-<?php
+?>
+]]>
+ </programlisting>
+ </example>
+ <example>
+ <title>Áîëåå ñëîæíûé ìîäèôèêàòîð</title>
+ <programlisting>
+ <![CDATA[
+<?php
/*
* Smarty plugin
* -------------------------------------------------------------
- * File: modifier.truncate.php
- * Type: modifier
- * Name: truncate
- * Purpose: Truncate a string to a certain length if necessary,
- * optionally splitting in the middle of a word, and
- * appending the $etc string.
+ * Ôàéë: modifier.truncate.php
+ * Òèï: modifier
+ * Èìÿ: truncate
+ * Íàçíà÷åíèå: Óðåçàòü ñòðîêó äî îïðåäåëåííîé äëèíû,
+ * ïðè íåîáõîäèìîñòè îáðåçàòü ñëîâî íà ïîëîâèíå è ïðèñîåäåíèòü ñòðîêó $etc.
* -------------------------------------------------------------
*/
function smarty_modifier_truncate($string, $length = 80, $etc = '...',
@@ -83,8 +87,10 @@
} else
return $string;
}
-?></programlisting>
- </example>
+?>
+]]>
+ </programlisting>
+ </example>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
@@ -105,4 +111,4 @@
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
--->
\ No newline at end of file
+-->
http://cvs.php.net/diff.php/smarty/docs/ru/programmers/plugins/plugins-naming-conventions.xml?r1=1.1&r2=1.2&ty=u
Index: smarty/docs/ru/programmers/plugins/plugins-naming-conventions.xml
diff -u smarty/docs/ru/programmers/plugins/plugins-naming-conventions.xml:1.1 smarty/docs/ru/programmers/plugins/plugins-naming-conventions.xml:1.2
--- smarty/docs/ru/programmers/plugins/plugins-naming-conventions.xml:1.1 Tue Apr 13 07:46:23 2004
+++ smarty/docs/ru/programmers/plugins/plugins-naming-conventions.xml Fri Jun 11 02:26:26 2004
@@ -1,61 +1,61 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.1 $ -->
- <sect1 id="plugins.naming.conventions">
- <title>Naming Conventions</title>
- <para>
- Plugin files and functions must follow a very specific naming
- convention in order to be located by Smarty.
- </para>
- <para>
- The plugin files must be named as follows:
- <blockquote>
- <para>
- <filename>
- <replaceable>type</replaceable>.<replaceable>name</replaceable>.php
- </filename>
- </para>
- </blockquote>
- </para>
- <para>
- Where <literal>type</literal> is one of these plugin types:
- <itemizedlist spacing="compact">
- <listitem><simpara>function</simpara></listitem>
- <listitem><simpara>modifier</simpara></listitem>
- <listitem><simpara>block</simpara></listitem>
- <listitem><simpara>compiler</simpara></listitem>
- <listitem><simpara>prefilter</simpara></listitem>
- <listitem><simpara>postfilter</simpara></listitem>
- <listitem><simpara>outputfilter</simpara></listitem>
- <listitem><simpara>resource</simpara></listitem>
- <listitem><simpara>insert</simpara></listitem>
- </itemizedlist>
- </para>
- <para>
- And <literal>name</literal> should be a valid identifier (letters,
- numbers, and underscores only).
- </para>
- <para>
- Some examples: <literal>function.html_select_date.php</literal>,
- <literal>resource.db.php</literal>,
- <literal>modifier.spacify.php</literal>.
- </para>
- <para>
- The plugin functions inside the plugin files must be named as follows:
- <blockquote>
- <para>
- <function>smarty_<replaceable>type</replaceable>_<replaceable>name</replaceable></function>
- </para>
- </blockquote>
- </para>
- <para>
- The meanings of <literal>type</literal> and <literal>name</literal> are
- the same as before.
- </para>
- <para>
- Smarty will output appropriate error messages if the plugin file it
- needs is not found, or if the file or the plugin function are named
- improperly.
- </para>
+<?xml version="1.0" encoding="windows-1251"?>
+<!-- $Revision: 1.2 $ -->
+<!-- EN-Revision: 1.1 -->
+<sect1 id="plugins.naming.conventions">
+ <title>Ñîãëàøåíèå îá èìåíàõ</title>
+ <para>
+ Ïðè ïðèñâîåíèè èìåí ôàéëàì è ôóíêöèÿì ïëàãèíîâ, íåîáõîäèìî ïðèäåðæèâàòüñÿ îïðåäåëåííûõ
+ ïðàâèë, ÷òîáû Smarty íàõîäèë è ìîã èñïîëüçîâàòü ýòè ïëàãèíû.
+ </para>
+ <para>
+ Èìåíà ôàéëîâ ïëàãèíîâ äîëæíû ôîðìèðîâàòüñÿ ïî ñëåäóþùåé ñõåìå:
+ <blockquote>
+ <para>
+ <filename>
+ <replaceable>type</replaceable>.<replaceable>name</replaceable>.php
+ </filename>
+ </para>
+ </blockquote>
+ </para>
+ <para>
+ Ãäå <literal>type (òèï)</literal> ýòî îäèí èç ñëåäóþùèõ òèïîâ ïëàãèíîâ:
+ <itemizedlist spacing="compact">
+ <listitem><simpara>function</simpara></listitem>
+ <listitem><simpara>modifier</simpara></listitem>
+ <listitem><simpara>block</simpara></listitem>
+ <listitem><simpara>compiler</simpara></listitem>
+ <listitem><simpara>prefilter</simpara></listitem>
+ <listitem><simpara>postfilter</simpara></listitem>
+ <listitem><simpara>outputfilter</simpara></listitem>
+ <listitem><simpara>resource</simpara></listitem>
+ <listitem><simpara>insert</simpara></listitem>
+ </itemizedlist>
+ </para>
+ <para>
+ è <literal>name (èìÿ)</literal> ñîîòâåòñòâóåò ïðàâèëàì íàèìåíîâàíèÿ èäåíòèôèêàòîðîâ â PHP
+ (òîëüêî áóêâû, öèôðû è çíàê ïîä÷åðêèâàíèÿ).
+ </para>
+ <para>
+ Íåñêîëüêî ïðèìåðîâ: <literal>function.html_select_date.php</literal>,
+ <literal>resource.db.php</literal>,
+ <literal>modifier.spacify.php</literal>.
+ </para>
+ <para>
+ Ôóíêöèè, íàõîäÿùèåñÿ âíóòðè ôàéëîâ ïëàãèíîâ, äîëæíû èìåíîâàòüñÿ ñëåäóþùèì îáðàçîì:
+ <blockquote>
+ <para>
+ <function>smarty_<replaceable>type</replaceable>_<replaceable>name</replaceable></function>
+ </para>
+ </blockquote>
+ </para>
+ <para>
+ Çíà÷åíèÿ <literal>type</literal> è <literal>name</literal> òå æå, ÷òî ïðåæäå.
+ </para>
+ <para>
+ Smarty âûäàñò ñîîáùåíèå îá îøèáêå, åñëè íåîáõîäèìûé ôàéë ïëàãèíà
+ íå áóäåò íàéäåí, èëè ôàéë ïëàãèíà, à òàê æå ôóíêöèÿ ïëàãèíà
+ áóäóò íàçâàíû íåïðàâèëüíî.
+ </para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
@@ -76,4 +76,4 @@
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
--->
\ No newline at end of file
+-->
http://cvs.php.net/diff.php/smarty/docs/ru/programmers/plugins/plugins-outputfilters.xml?r1=1.1&r2=1.2&ty=u
Index: smarty/docs/ru/programmers/plugins/plugins-outputfilters.xml
diff -u smarty/docs/ru/programmers/plugins/plugins-outputfilters.xml:1.1 smarty/docs/ru/programmers/plugins/plugins-outputfilters.xml:1.2
--- smarty/docs/ru/programmers/plugins/plugins-outputfilters.xml:1.1 Tue Apr 13 07:46:23 2004
+++ smarty/docs/ru/programmers/plugins/plugins-outputfilters.xml Fri Jun 11 02:26:26 2004
@@ -1,36 +1,38 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.1 $ -->
- <sect1 id="plugins.outputfilters"><title>Output Filters</title>
- <para>
- Output filter plugins operate on a template's output, after the
- template is loaded and executed, but before the output is displayed.
- </para>
- <funcsynopsis>
- <funcprototype>
- <funcdef>string <function>smarty_outputfilter_<replaceable>name</replaceable></function></funcdef>
- <paramdef>string <parameter>$template_output</parameter></paramdef>
- <paramdef>object <parameter>&$smarty</parameter></paramdef>
- </funcprototype>
- </funcsynopsis>
- <para>
- The first parameter to the output filter function is the template
- output that needs to be processed, and the second parameter is the
- instance of Smarty invoking the plugin. The plugin is supposed to do
- the processing and return the results.
- </para>
- <example>
- <title>output filter plugin</title>
- <programlisting role="php">
+<?xml version="1.0" encoding="windows-1251"?>
+<!-- $Revision: 1.2 $ -->
+<!-- EN-Revision: 1.1 -->
+<sect1 id="plugins.outputfilters">
+ <title>Ôèëüòðû âûâîäà</title>
+ <para>
+ Ïëàãèíû ôèëüòðîâ âûâîäà îïåðèðóò âûõîäíûì êîäîì øàáëîíà ïîñëå òîãî, êàê
+ øàáëîí áûë çàãðóæåí è îáðàáîòàí, íî ïåðåä åãî âûâîäîì â áðàóçåð.
+ </para>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>smarty_outputfilter_<replaceable>name</replaceable></function></funcdef>
+ <paramdef>string <parameter>$template_output</parameter></paramdef>
+ <paramdef>object <parameter>&$smarty</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Ïåðâûé ïàðàìåòð ôóíêöèè ôèëüòðà âûâîäà - ýòî âûõîäíîé êîä øàáëîíà
+ êîòîðûé äîëæåí áûòü îáðàáîòàí, à âòîðîé ïàðàìåòð - ýòî
+ ýêçåìïëÿð îáúåêòà Smarty, âûçâàâøèé ýòîò ïëàãèí. Ïëàãèí ïðåäíàçíà÷åí äëÿ îáðàáîòêè
+ è âîçâðàòà ðåçóëüòàòà.
+ </para>
+ <example>
+ <title>Ïëàãèí ôèëüòðà âûâîäà</title>
+ <programlisting role="php">
<![CDATA[
<?php
/*
* Smarty plugin
* -------------------------------------------------------------
- * File: outputfilter.protect_email.php
- * Type: outputfilter
- * Name: protect_email
- * Purpose: Converts @ sign in email addresses to %40 as
- * a simple protection against spambots
+ * Ôàéë: outputfilter.protect_email.php
+ * Òèï: outputfilter
+ * Èìÿ: protect_email
+ * Íàçíà÷åíèå: Êîíâåðòèðîâàòü ñèìâîë @ â àäðåñàõ email â %40 äëÿ
+ * ïðîñòåéøåé çàùèòû îò ñïàìáîòîâ.
* -------------------------------------------------------------
*/
function smarty_outputfilter_protect_email($output, &$smarty)
@@ -40,8 +42,8 @@
}
?>
]]>
- </programlisting>
- </example>
+ </programlisting>
+ </example>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
@@ -62,4 +64,4 @@
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
--->
\ No newline at end of file
+-->
http://cvs.php.net/diff.php/smarty/docs/ru/programmers/plugins/plugins-prefilters-postfilters.xml?r1=1.1&r2=1.2&ty=u
Index: smarty/docs/ru/programmers/plugins/plugins-prefilters-postfilters.xml
diff -u smarty/docs/ru/programmers/plugins/plugins-prefilters-postfilters.xml:1.1 smarty/docs/ru/programmers/plugins/plugins-prefilters-postfilters.xml:1.2
--- smarty/docs/ru/programmers/plugins/plugins-prefilters-postfilters.xml:1.1 Tue Apr 13 07:46:23 2004
+++ smarty/docs/ru/programmers/plugins/plugins-prefilters-postfilters.xml Fri Jun 11 02:26:26 2004
@@ -1,87 +1,88 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.1 $ -->
- <sect1 id="plugins.prefilters.postfilters">
- <title>Prefilters/Postfilters</title>
- <para>
- Prefilter and postfilter plugins are very similar in concept; where
- they differ is in the execution -- more precisely the time of their
- execution.
- </para>
- <funcsynopsis>
- <funcprototype>
- <funcdef>string <function>smarty_prefilter_<replaceable>name</replaceable></function></funcdef>
- <paramdef>string <parameter>$source</parameter></paramdef>
- <paramdef>object <parameter>&$smarty</parameter></paramdef>
- </funcprototype>
- </funcsynopsis>
- <para>
- Prefilters are used to process the source of the template immediately
- before compilation. The first parameter to the prefilter function is
- the template source, possibly modified by some other prefilters. The
- plugin is supposed to return the modified source. Note that this
- source is not saved anywhere, it is only used for compilation.
- </para>
- <funcsynopsis>
- <funcprototype>
- <funcdef>string <function>smarty_postfilter_<replaceable>name</replaceable></function></funcdef>
- <paramdef>string <parameter>$compiled</parameter></paramdef>
- <paramdef>object <parameter>&$smarty</parameter></paramdef>
- </funcprototype>
- </funcsynopsis>
- <para>
- Postfilters are used to process the compiled output of the template
- (the PHP code) immediately after the compilation is done but before the
- compiled template is saved to the filesystem. The first parameter to
- the postfilter function is the compiled template code, possibly
- modified by other postfilters. The plugin is supposed to return the
- modified version of this code.
- </para>
- <example>
- <title>prefilter plugin</title>
- <programlisting>
+<?xml version="1.0" encoding="windows-1251"?>
+<!-- $Revision: 1.2 $ -->
+<!-- EN-Revision: 1.1 -->
+<sect1 id="plugins.prefilters.postfilters">
+ <title>Ïðåôèëüòðû/Ïîñòôèëüòðû</title>
+ <para>
+ Êîíöåïöèÿ ïëàãèíîâ ïðåôèëüòðîâ è ïîñòôèëüòðîâ î÷åíü ïðîñòà; îíè
+ îòëè÷àþòñÿ ìåñòîì èñïîëíåíèÿ, èëè, òî÷íåå, âðåìåíåì èõ èñïîëíåíèÿ.
+ </para>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>smarty_prefilter_<replaceable>name</replaceable></function></funcdef>
+ <paramdef>string <parameter>$source</parameter></paramdef>
+ <paramdef>object <parameter>&$smarty</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Ïðåôèëüòðû èñïîëüçóþòñÿ äëÿ îáðàáîòêè èñõîäíîãî êîäà øàáëîíà íåïîñðåäñòâåííî
+ ïåðåä êîìïèëÿöèåé. Ïåðâûé ïàðàìåòð ôóíêöèè ïðåôèëüòðà - ýòî
+ èñõîäíûé êîä øàáëîíà, êîòîðûé, âîçìîæíî, óæå èçìåíåí äðóãèìè ïðåôèëüòðàìè.
+ Òàêîé ïëàãèí âîçâðàùàåò ìîäèôèöèðîâàíûé èñõîäíûé êîä. Çàìåòüòå, ÷òî
+ ýòîò èñõîäíûé êîä íèãäå íå ñîõðàíÿåòñÿ, îí èñïîëüçóåòñÿ òîëüêî äëÿ êîìïèëÿöèè.
+ </para>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>smarty_postfilter_<replaceable>name</replaceable></function></funcdef>
+ <paramdef>string <parameter>$compiled</parameter></paramdef>
+ <paramdef>object <parameter>&$smarty</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Ïîñòôèëüòðû èñïîëüçóþòñÿ äëÿ îáðàáîòêè ñêîìïèëèðîâàííîãî âûâîäà øàáëîíà
+ (ïî ñóòè - PHP-êîäà) ñðàçó ïî çàâåðøåíèþ êîìïèëÿöèè, íî ïåðåä ñîõðàíåíèåì
+ îòêîìïèëèðîâàííîãî øàáëîíà â ôàéëîâîé ñèñòåìå. Ïåðâûì ïàðàìåòðîì
+ ôóíêöèè ïîñòôèëüòðà ÿâëÿåòñÿ ñêîìïèëèðîâàííûé êîä øàáëîíà, âîçìîæíî
+ óæå ìîäèôèöèðîâàíûé äðóãèìè ïîñòôèëüòðàìè. Ïëàãèí âîçâðàùàåò
+ ìîäèôèöèðîâàííóþ âåðñèþ ýòîãî êîäà.
+ </para>
+ <example>
+ <title>Ïëàãèí ïðåôèëüòðà</title>
+ <programlisting>
<![CDATA[
-<?php
+<?php
/*
* Smarty plugin
* -------------------------------------------------------------
- * File: prefilter.pre01.php
- * Type: prefilter
- * Name: pre01
- * Purpose: Convert html tags to be lowercase.
+ * Ôàéë: prefilter.pre01.php
+ * Òèï: prefilter
+ * Èìÿ: pre01
+ * Íàçíà÷åíèå: Ïåðåâåñòè âñå òýãè html â íèæíèé ðåãèñòð.
* -------------------------------------------------------------
*/
function smarty_prefilter_pre01($source, &$smarty)
{
- return preg_replace('!<(\w+)[^>]+>!e', 'strtolower("$1")', $source);
+ return preg_replace('!<(\w+)[^>;]+>!e', 'strtolower("$1")', $source);
}
-?>
+ ?>
]]>
</programlisting>
- </example>
- <para></para>
- <example>
- <title>postfilter plugin</title>
- <programlisting>
+ </example>
+ <para></para>
+ <example>
+ <title>Ïëàãèí ïîñòôèëüòðà</title>
+ <programlisting>
<![CDATA[
-<?php
+<?php
/*
* Smarty plugin
* -------------------------------------------------------------
- * File: postfilter.post01.php
- * Type: postfilter
- * Name: post01
- * Purpose: Output code that lists all current template vars.
+ * Ôàéë: postfilter.post01.php
+ * Òèï: postfilter
+ * Èìÿ: post01
+ * Íàçíà÷åíèå: Âûâåñòè êîä, ïåðå÷èñëÿþùèé âñå òåêóùèå
+ * ïåðåìåííûå øàáëîíà.
* -------------------------------------------------------------
*/
function smarty_postfilter_post01($compiled, &$smarty)
{
- $compiled = "<pre>\n<?php print_r(\$this->get_template_vars()); ?>\n</pre>" . $compiled;
+ $compiled = "<pre>\n<?php print_r(\$this->get_template_vars()); ?>\n</pre>" . $compiled;
return $compiled;
}
-?>
+?>
]]>
</programlisting>
- </example>
+ </example>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
@@ -102,4 +103,4 @@
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
--->
\ No newline at end of file
+-->
http://cvs.php.net/diff.php/smarty/docs/ru/programmers/plugins/plugins-resources.xml?r1=1.1&r2=1.2&ty=u
Index: smarty/docs/ru/programmers/plugins/plugins-resources.xml
diff -u smarty/docs/ru/programmers/plugins/plugins-resources.xml:1.1 smarty/docs/ru/programmers/plugins/plugins-resources.xml:1.2
--- smarty/docs/ru/programmers/plugins/plugins-resources.xml:1.1 Tue Apr 13 07:46:23 2004
+++ smarty/docs/ru/programmers/plugins/plugins-resources.xml Fri Jun 11 02:26:26 2004
@@ -1,99 +1,101 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.1 $ -->
- <sect1 id="plugins.resources"><title>Resources</title>
- <para>
- Resource plugins are meant as a generic way of providing template
- sources or PHP script components to Smarty. Some examples of resources:
- databases, LDAP, shared memory, sockets, and so on.
- </para>
-
- <para>
- There are a total of 4 functions that need to be registered for each
- type of resource. Every function will receive the requested resource as
- the first parameter and the Smarty object as the last parameter. The
- rest of parameters depend on the function.
- </para>
-
- <funcsynopsis>
- <funcprototype>
- <funcdef>bool <function>smarty_resource_<replaceable>name</replaceable>_source</function></funcdef>
- <paramdef>string <parameter>$rsrc_name</parameter></paramdef>
- <paramdef>string <parameter>&$source</parameter></paramdef>
- <paramdef>object <parameter>&$smarty</parameter></paramdef>
- </funcprototype>
- <funcprototype>
- <funcdef>bool <function>smarty_resource_<replaceable>name</replaceable>_timestamp</function></funcdef>
- <paramdef>string <parameter>$rsrc_name</parameter></paramdef>
- <paramdef>int <parameter>&$timestamp</parameter></paramdef>
- <paramdef>object <parameter>&$smarty</parameter></paramdef>
- </funcprototype>
- <funcprototype>
- <funcdef>bool <function>smarty_resource_<replaceable>name</replaceable>_secure</function></funcdef>
- <paramdef>string <parameter>$rsrc_name</parameter></paramdef>
- <paramdef>object <parameter>&$smarty</parameter></paramdef>
- </funcprototype>
- <funcprototype>
- <funcdef>bool <function>smarty_resource_<replaceable>name</replaceable>_trusted</function></funcdef>
- <paramdef>string <parameter>$rsrc_name</parameter></paramdef>
- <paramdef>object <parameter>&$smarty</parameter></paramdef>
- </funcprototype>
- </funcsynopsis>
-
- <para>
- The first function is supposed to retrieve the resource. Its second
- parameter is a variable passed by reference where the result should be
- stored. The function is supposed to return <literal>true</literal> if
- it was able to successfully retrieve the resource and
- <literal>false</literal> otherwise.
- </para>
-
- <para>
- The second function is supposed to retrieve the last modification time
- of the requested resource (as a UNIX timestamp). The second parameter
- is a variable passed by reference where the timestamp should be stored.
- The function is supposed to return <literal>true</literal> if the
- timestamp could be succesfully determined, and <literal>false</literal>
- otherwise.
- </para>
-
- <para>
- The third function is supposed to return <literal>true</literal> or
- <literal>false</literal>, depending on whether the requested resource
- is secure or not. This function is used only for template resources but
- should still be defined.
- </para>
-
- <para>
- The fourth function is supposed to return <literal>true</literal> or
- <literal>false</literal>, depending on whether the requested resource
- is trusted or not. This function is used for only for PHP script
- components requested by <command>include_php</command> tag or
- <command>insert</command> tag with <structfield>src</structfield>
- attribute. However, it should still be defined even for template
- resources.
- </para>
- <para>
- See also
- <link linkend="api.register.resource">register_resource()</link>,
- <link linkend="api.unregister.resource">unregister_resource()</link>.
- </para>
- <example>
- <title>resource plugin</title>
- <programlisting>
-<?php
+<?xml version="1.0" encoding="windows-1251"?>
+<!-- $Revision: 1.2 $ -->
+<!-- EN-Revision: 1.1 -->
+<sect1 id="plugins.resources">
+ <title>Ðåñóðñû</title>
+ <para>
+ Ïëàãèíû ðåñóðñîâ îïèñûâàþò èñòî÷íèêè äàííûõ, èç êîòîðûõ áåðåòñÿ èñõîäíûé
+ êîä øàáëîíà èëè êîìïîíåíòû PHP-ñêðèïòà äëÿ Smarty. Âîò ïðèìåðû ðåñóðñîâ:
+ áàçû äàííûõ, LDAP, ðàçäåëÿåìàÿ ïàìÿòü (shared memory), ñîêåòû, è ïðî÷åå.
+ </para>
+
+ <para>
+ Íåîáõîäèìî 4 ôóíêöèè äëÿ òîãî, ÷òîáû çàðåãåñòðèðîâàòü
+ êàæäûé òèï ðåñóðñà. Êàæäàÿ òàêàÿ ôóíêöèÿ ïîëó÷àåò çàïðàøèâàåìûé ðåñóðñ â êà÷åñòâå
+ ïåðâîãî ïàðàìåòðà è îáúåêò Smarty êàê ïîñëåäíèé ïàðàìåòð.
+ Îñòàëüíûå ïàðàìåòðû çàâèñÿò îò ôóíêöèè.
+ </para>
+
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>bool <function>smarty_resource_<replaceable>name</replaceable>_source</function></funcdef>
+ <paramdef>string <parameter>$rsrc_name</parameter></paramdef>
+ <paramdef>string <parameter>&$source</parameter></paramdef>
+ <paramdef>object <parameter>&$smarty</parameter></paramdef>
+ </funcprototype>
+ <funcprototype>
+ <funcdef>bool <function>smarty_resource_<replaceable>name</replaceable>_timestamp</function></funcdef>
+ <paramdef>string <parameter>$rsrc_name</parameter></paramdef>
+ <paramdef>int <parameter>&$timestamp</parameter></paramdef>
+ <paramdef>object <parameter>&$smarty</parameter></paramdef>
+ </funcprototype>
+ <funcprototype>
+ <funcdef>bool <function>smarty_resource_<replaceable>name</replaceable>_secure</function></funcdef>
+ <paramdef>string <parameter>$rsrc_name</parameter></paramdef>
+ <paramdef>object <parameter>&$smarty</parameter></paramdef>
+ </funcprototype>
+ <funcprototype>
+ <funcdef>bool <function>smarty_resource_<replaceable>name</replaceable>_trusted</function></funcdef>
+ <paramdef>string <parameter>$rsrc_name</parameter></paramdef>
+ <paramdef>object <parameter>&$smarty</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+
+ <para>
+ Ïåðâàÿ ôóíêöèÿ ïîëó÷àåò ðåñóðñ. Åå ïåðâûé
+ ïàðàìåòð, ýòî ïåðåìåííàÿ, ïåðåäàííàÿ ïî ññûëêå. Â íåå áóäåò ñîõðàíåí ðåçóëüòàò.
+ Ôóíêöèÿ âåðíåò <literal>true</literal> åñëè
+ ñìîæåò óäà÷íî ïîëó÷èòü ðåñóðñ è
+ <literal>false</literal> â èíîì ñëó÷àå.
+ </para>
+
+ <para>
+ Âòîðàÿ ôóíêöèÿ ïîëó÷àåò âðåìÿ ïîñëåäíåé ìîäèôèêàöèè
+ çàïðîøåííîãî ðåñóðñà (â âèäå UNIX timestamp). Âòîðîé ïàðàìåòð
+ ïðåäñòàâëÿåò ñîáîé ïåðåìåííóþ, ïåðåäàííóþ ïî ññûëêå, â êîòîðîé è áóäåò ñîõðàíåíî âðåìÿ.
+ Ôóíêöèÿ âåðíåò <literal>true</literal> åñëè
+ timestamp áóäåò îïðåäåëåí â ïðàâèëüíîé ôîðìå, è <literal>false</literal>
+ â èíîì ñëó÷àå.
+ </para>
+
+ <para>
+ Òðåòüÿ ôóíêöèÿ âîçâðàùàåò <literal>true</literal> èëè
+ <literal>false</literal> â çàâèñèìîñòè îò òîãî, ÿâëÿåòñÿ ëè
+ çàïðàøèâàåìûé ðåñóðñ áåçîïàñíûì. Ýòà ôóíêöèÿ èñïîëüçóåòñÿ òîëüêî äëÿ ðåñóðñîâ øàáëîíà, íî
+ â ëþáîì ñëó÷àå äîëæíà áûòü îïðåäåëåíà.
+ </para>
+
+ <para>
+ ×åòâåðòàÿ ôóíêöèÿ âîçâðàùàåò <literal>true</literal> èëè
+ <literal>false</literal> â çàâèñèìîñòè îò òîãî, çàñëóæèâàåò ëè çàïðàøèâàåìûé ðåñóðñ äîâåðèÿ
+ (is trusted) èëè íåò. Ýòà ôóíêöèÿ èñïîëüçóåòñÿ òîëüêî äëÿ êîìïîíåíòîâ PHP-ñêðèïòà,
+ çàïðîøåííûõ òýãîì <command>include_php</command> èëè
+ <command>insert</command> ñ <structfield>src</structfield>
+ àòðèáóòîì. Òåì íå ìåíåå, îíà äîëæíà îáúÿâëÿòüñÿ äàæå äëÿ ðåñóðñîâ øàáëîíà.
+ </para>
+ <para>
+ Ñìîòðèòå òàêæå:
+ <link linkend="api.register.resource">register_resource()</link>,
+ <link linkend="api.unregister.resource">unregister_resource()</link>.
+ </para>
+ <example>
+ <title>Ïëàãèí ðåñóðñà</title>
+ <programlisting>
+<![CDATA[
+<?php
/*
* Smarty plugin
* -------------------------------------------------------------
- * File: resource.db.php
- * Type: resource
- * Name: db
- * Purpose: Fetches templates from a database
+ * Ôàéë: resource.db.php
+ * Òèï: resource
+ * Èìÿ: db
+ * Íàçíà÷åíèå: Ïîëó÷àåò øàáëîí èç áàçû äàííûõ
* -------------------------------------------------------------
*/
-function smarty_resource_db_source($tpl_name, &$tpl_source, &$smarty)
+ function smarty_resource_db_source($tpl_name, &$tpl_source, &$smarty)
{
- // do database call here to fetch your template,
- // populating $tpl_source
+ // âûïîëíÿåì îáðàùåíèå ê áàçå äàííûõ äëÿ ïîëó÷åíèÿ øàáëîíà
+ // è çàíåñåíèÿ ïîëó÷åííîãî ðåçóëüòàòà â â $tpl_source
$sql = new SQL;
$sql->query("select tpl_source
from my_table
@@ -106,9 +108,9 @@
}
}
-function smarty_resource_db_timestamp($tpl_name, &$tpl_timestamp, &$smarty)
+function smarty_resource_db_timestamp($tpl_name, &$tpl_timestamp, &$smarty)
{
- // do database call here to populate $tpl_timestamp.
+ // âûïîëíÿåì îáðàùåíèå ê áàçå äàííûõ äëÿ ïðèñâîåíèÿ çíà÷åíèÿ $tpl_timestamp.
$sql = new SQL;
$sql->query("select tpl_timestamp
from my_table
@@ -121,18 +123,20 @@
}
}
-function smarty_resource_db_secure($tpl_name, &$smarty)
+function smarty_resource_db_secure($tpl_name, &$smarty)
{
- // assume all templates are secure
+ // ïðåäïîëàãàåì, ÷òî øàáëîíû áåçîïàñíû
return true;
}
-function smarty_resource_db_trusted($tpl_name, &$smarty)
+function smarty_resource_db_trusted($tpl_name, &$smarty)
{
- // not used for templates
+ // íå èñïîëüçóåòñÿ äëÿ øàáëîíîâ
}
-?></programlisting>
- </example>
+?>
+]]>
+ </programlisting>
+ </example>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
@@ -153,4 +157,4 @@
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
--->
\ No newline at end of file
+-->
http://cvs.php.net/diff.php/smarty/docs/ru/programmers/plugins/plugins-writing.xml?r1=1.1&r2=1.2&ty=u
Index: smarty/docs/ru/programmers/plugins/plugins-writing.xml
diff -u smarty/docs/ru/programmers/plugins/plugins-writing.xml:1.1 smarty/docs/ru/programmers/plugins/plugins-writing.xml:1.2
--- smarty/docs/ru/programmers/plugins/plugins-writing.xml:1.1 Tue Apr 13 07:46:23 2004
+++ smarty/docs/ru/programmers/plugins/plugins-writing.xml Fri Jun 11 02:26:26 2004
@@ -1,28 +1,30 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.1 $ -->
- <sect1 id="plugins.writing">
- <title>Writing Plugins</title>
- <para>
- Plugins can be either loaded by Smarty automatically from the
- filesystem or they can be registered at runtime via one of the
- register_* API functions. They can also be unregistered by using
- unregister_* API functions.
- </para>
- <para>
- For the plugins that are registered at runtime, the name of the plugin
- function(s) does not have to follow the naming convention.
- </para>
- <para>
- If a plugin depends on some functionality provided by another plugin
- (as is the case with some plugins bundled with Smarty), then the proper
- way to load the needed plugin is this:
- </para>
- <programlisting>
-require_once SMARTY_DIR . 'plugins/function.html_options.php';</programlisting>
- <para>
- As a general rule, Smarty object is always passed to the plugins as the last
- parameter (except for modifiers).
- </para>
+<?xml version="1.0" encoding="windows-1251"?>
+<!-- $Revision: 1.2 $ -->
+<!-- EN-Revision: 1.1 -->
+<sect1 id="plugins.writing">
+ <title>Íàïèñàíèå ïëàãèíîâ</title>
+ <para>
+ Smarty ìîæåò ïîäãðóæàòü ïëàãèíû àâòîìàòè÷åñêè èç
+ ôàéëîâîé ñèñòåìû èëè ðåãèñòðèðîâàòü èõ âî âðåìÿ âûïîëíåíèÿ
+ (at runtime) ïîñðåäñòâîì îäíîé èç register_* API ôóíêöèé.
+ Èõ òàêæå ìîæíî äåðåãèñòðèðîâàòü, èñïîëüçóÿ unregister_* API ôóíêöèè.
+ </para>
+ <para>
+ Ïëàãèíàì, êîòîðûå ðåãèñòðèðóþòñÿ âî âðåìÿ âûïîëíåíèÿ,
+ ìîãóò ïðèñâàèâàòüñÿ èìåíà íå ñîîòâåòñòâóþùèå ïðàâèëàì ñîãëàøåíèÿ îá èìåíàõ.
+ </para>
+ <para>
+ Åñëè ïëàãèí çàâèñèò îò íåêîòîðûõ ôóíêöèé äðóãîãî ïëàãèíà
+ (êàê â íåêîòîðûõ ñëó÷àÿõ ñ ïëàãèíàìè, ïîñòàâëÿåìûìè âìåñòå ñî Smarty), òî
+ òàêîé ïëàãèí ìîæíî çàãðóçèòü ñëåäóþùèì îáðàçîì:
+ </para>
+ <programlisting>
+ require_once SMARTY_DIR . 'plugins/function.html_options.php';
+ </programlisting>
+ <para>
+ Âàæíî çíàòü, ÷òî îáúåêò Smarty âñåãäà ïîñûëàåòñÿ â ïëàãèí êàê ïîñëåäíèé
+ ïàðàìåòåð (çà èñêëþ÷åíèåì ìîäèôèêàòîðîâ).
+ </para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
@@ -43,4 +45,4 @@
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
--->
\ No newline at end of file
+-->