cvs: smarty /docs/ru/appendixes tips.xml troubleshooting.xml /docs/ru/designers chapter-debugging-console.xml config-files.xml
language-basic-syntax.xml language-builtin-functions.xml language-modifiers.xml language-variables.xml /docs/ru/designers/language-basic-syntax
language-escaping.xml language-math.xml language-syntax-attributes.xml language-syntax-comments.xml language-syntax-functions.xml
language-syntax-quotes.xml language-syntax-variables.xml

From: Date: Sun, 20 Jan 2008 14:28:43 +0000
Subject: cvs: smarty /docs/ru/appendixes tips.xml troubleshooting.xml /docs/ru/designers chapter-debugging-console.xml config-files.xml
language-basic-syntax.xml language-builtin-functions.xml language-modifiers.xml language-variables.xml /docs/ru/designers/language-basic-syntax
language-escaping.xml language-math.xml language-syntax-attributes.xml language-syntax-comments.xml language-syntax-functions.xml
language-syntax-quotes.xml language-syntax-variables.xml
Groups: php.smarty.cvs 
Request: Send a blank email to php-smarty-cvs+get-2279@lists.php.net to get a copy of this message
freespace Sun Jan 20 14:28:43 2008 UTC Modified files: /smarty/docs/ru/appendixes tips.xml troubleshooting.xml /smarty/docs/ru/designers chapter-debugging-console.xml config-files.xml language-basic-syntax.xml language-builtin-functions.xml language-modifiers.xml language-variables.xml /smarty/docs/ru/designers/language-basic-syntax language-escaping.xml language-math.xml language-syntax-attributes.xml language-syntax-comments.xml language-syntax-functions.xml language-syntax-quotes.xml language-syntax-variables.xml Log: Sync with EN

http://cvs.php.net/viewvc.cgi/smarty/docs/ru/appendixes/tips.xml?r1=1.15&r2=1.16&diff_format=u Index: smarty/docs/ru/appendixes/tips.xml diff -u smarty/docs/ru/appendixes/tips.xml:1.15 smarty/docs/ru/appendixes/tips.xml:1.16 --- smarty/docs/ru/appendixes/tips.xml:1.15 Sat Jan 19 17:08:08 2008 +++ smarty/docs/ru/appendixes/tips.xml Sun Jan 20 14:28:43 2008 @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- $Revision: 1.15 $ --> -<!-- EN-Revision: 1.11 Maintainer: freespace Status: ready --> +<!-- $Revision: 1.16 $ --> +<!-- EN-Revision: 1.12 Maintainer: freespace Status: ready --> <chapter id="tips"> <title>Советы</title> <para></para> @@ -9,12 +9,24 @@ <para> Иногда, например, для того чтобы фон таблицы работал корректно, необходимо вывести вместо пустого значения переменной, значение - по умолчанию "&amp;nbsp;". Многие бы использовали конструкцию - <link linkend="language.function.if">{if}</link>, + по умолчанию, например <literal>&amp;nbsp;</literal>. + Многие бы использовали конструкцию + <link linkend="language.function.if"><varname>{if}</varname></link> + в данной ситуации, но в Smatry есть более короткий путь - используя модификатор переменной <link linkend="language.modifier.default"><emphasis>default</emphasis></link>. + + <note> + <para> + PHP выдаст ошибку <quote>Undefined variable</quote> в случае, если + <ulink url="&url.php-manual;error_reporting"> + <varname>error_reporting()</varname></ulink> установлен в <constant>E_ALL</constant> + и переменная не была присвоена шаблону Smarty. + </para> + </note> </para> + <example> <title>Вывод &amp;nbsp;, если переменная пуста</title> <programlisting> @@ -42,8 +54,9 @@ <title>Обработка переменных по умолчанию</title> <para> Если переменная встречается часто, то использование модификатора - default каждый раз можно избежать, используя функцию - <link linkend="language.function.assign">{assign}</link>. + <link linkend="language.modifier.default"><varname>default</varname></link> + каждый раз можно избежать, используя функцию + <link linkend="language.function.assign"><varname>{assign}</varname></link>. </para> <example> <title>Назначение переменной шаблона значения по умолчанию</title> @@ -58,7 +71,8 @@ </programlisting> </example> <para> - См. также <link linkend="language.modifier.default">default</link> и + См. также + <link linkend="language.modifier.default"><varname>default</varname></link> и <link linkend="tips.blank.var.handling">Обработка пустых переменных</link>. </para> </sect1> @@ -67,17 +81,19 @@ <title>Присвоение переменной заголовка (title) шаблону-шапке</title> <para> Если большинство ваших шаблонов имеют похожие верхние и нижние - части, то имеет смысл вынести их в отдельные файлы. Но как быть, если - шапка должна иметь различные заголовки на различных страницах? - Вы можете передавать текст заголовка шапке в качестве <link + части, то имеет смысл вынести их в отдельные файлы и + <link linkend="language.function.include">подключать</link> их. + Но как быть, если шапка должна иметь различные заголовки на различных + страницах? Вы можете передавать текст заголовка шапке в качестве <link linkend="language.syntax.attributes">атрибута</link> в момент её включения. </para> <example> <title>Присвоение переменной заголовка (title) шаблону-шапке</title> <para> <filename>mainpage.tpl</filename> - когда отображается главная страница, - заголовок "Main Page" передается в <filename>header.tpl</filename>, - и будет в последствии использован в качестве заголовка. + заголовок <quote>Main Page</quote> передается в + <filename>header.tpl</filename>, + и будет в дальнейшем использован в качестве заголовка. </para> <programlisting> <![CDATA[ @@ -89,13 +105,15 @@ <para> <filename>archives.tpl</filename> - когда отображается страница архива, - заголовок будет "Archives". Обратите внимание, что в этом примере мы + заголовок будет <quote>Archives</quote>. + Обратите внимание, что в этом примере мы используем переменную из <filename>archives_page.conf</filename>, вместо того, чтобы жестко прописать её в шаблоне. </para> <programlisting> <![CDATA[ {config_load file='archive_page.conf'} + {include file='header.tpl' title=#archivePageTitle#} {* тут находится тело шаблона *} {include file='footer.tpl'} @@ -103,9 +121,10 @@ </programlisting> <para> - <filename>header.tpl</filename> - Обратите внимание, что "Smarty News" - отображается тогда, когда $title не задан, благодаря модификатору - <link linkend="language.modifier.default">default</link>. + <filename>header.tpl</filename> - Обратите внимание, что + <quote>Smarty News</quote> отображается тогда, когда $title не задан, + благодаря модификатору + <link linkend="language.modifier.default"><varname>default</varname></link>. </para> <programlisting> <![CDATA[ @@ -133,11 +152,11 @@ <title>Даты</title> <para> Обычно даты в Smarty всегда передаются как - <ulink url="&url.php-manual;time">временные метки</ulink>, что - позволяет проектировщикам шаблонов использовать <link - linkend="language.modifier.date.format">date_format</link> + <ulink url="&url.php-manual;time">временные метки</ulink> (англ. timestamp), + что позволяет проектировщикам шаблонов использовать <link + linkend="language.modifier.date.format"><varname>date_format</varname></link> для полного контроля над форматированием даты и также делает легким - сравнение дат там, где это необходимо. + сравнение дат там, где это необходимо. </para> <note> <para> @@ -148,7 +167,7 @@ </para> </note> <example> - <title>using date_format</title> + <title>Использование date_format</title> <programlisting> <![CDATA[ {$startDate|date_format} @@ -159,7 +178,7 @@ </para> <screen> <![CDATA[ -Jan 4, 2001 +Jan 4, 2009 ]]> </screen> <programlisting> @@ -172,26 +191,30 @@ </para> <screen> <![CDATA[ -2001/01/04 +2009/01/04 ]]> </screen> + <para> + Даты можно ставнивать в шаблонах путем сравнения + меток времени следующим образом: + </para> <programlisting> <![CDATA[ {if $date1 < $date2} - ... + ... делаем что-то полезное ... {/if} ]]> </programlisting> </example> <para> - Когда <link - linkend="language.function.html.select.date">{html_select_date}</link> + Когда <link linkend="language.function.html.select.date"> + <varname>{html_select_date}</varname></link> используется в шаблоне, программист наверняка захочет преобразовать - данные из формы назад в формат метки времени. Вот функция, которая + данные из формы назад в формат временной метки. Вот функция, которая поможет вам сделать это. </para> <example> - <title>Преобразование элементов формы ввода даты назад к метке времени</title> + <title>Преобразование элементов формы ввода даты назад к временной метке</title> <programlisting role="php"> <![CDATA[ <?php @@ -204,13 +227,13 @@ function makeTimeStamp($year='', $month='', $day='') { if(empty($year)) { - $year = strftime("%Y"); + $year = strftime('%Y'); } if(empty($month)) { - $month = strftime("%m"); + $month = strftime('%m'); } if(empty($day)) { - $day = strftime("%d"); + $day = strftime('%d'); } return mktime(0, 0, 0, $month, $day, $year); @@ -221,10 +244,14 @@ </example> <para> См. также - <link linkend="language.function.html.select.date">{html_select_date}</link>, - <link linkend="language.function.html.select.time">{html_select_time}</link>, - <link linkend="language.modifier.date.format">date_format</link> и - <link linkend="language.variables.smarty.now">$smarty.now</link> + <link linkend="language.function.html.select.date"> + <varname>{html_select_date}</varname></link>, + <link linkend="language.function.html.select.time"> + <varname>{html_select_time}</varname></link>, + <link linkend="language.modifier.date.format"> + <varname>date_format</varname></link> и + <link linkend="language.variables.smarty.now"> + <parameter>$smarty.now</parameter></link> </para> </sect1> @@ -232,18 +259,18 @@ <title>WAP/WML</title> <para> WAP/WML шаблоны требуют, чтобы - <ulink url="&url.php-manual;header">заголовок Content-type</ulink> + <ulink url="&url.php-manual;header">заголовок Content-Type</ulink> был передан вместе с шаблоном. Простейший путь - написать пользовательскую функцию, которая будет выводить заголовки. Если вы используете <link linkend="caching">кэширование</link>, это не сработает, так что мы сделаем это с помощью тэга - <link linkend="language.function.insert">{insert}</link>; - не забывайте, что тэги {insert} не кэшируются! + <link linkend="language.function.insert"><varname>{insert}</varname></link>; + не забывайте, что тэги <varname>{insert}</varname> не кэшируются! Убедитесь, что перед шаблоном в браузер ничего не выводится, иначе отправить заголовок не получится. </para> <example> - <title>Использование {insert} для записи заголовка Content-Type для WML</title> + <title>Использование {insert} для отправки заголовка Content-Type для WML</title> <programlisting role="php"> <![CDATA[ <?php @@ -303,7 +330,9 @@ По традиции, программирование шаблонов в вашем приложении идёт следующим путём: Сначала вы формируете переменные внутри вашего приложения PHP (возможно, используя запросы к базе данных). Затем вы создаёте экземпляр - объекта Smarty, назначаете переменные и отображаете шаблон. + объекта Smarty, + <link linkend="api.assign">назначаете</link> переменные и + <link linkend="api.display">отображаете</link> шаблон. Давайте представим себе такую ситуацию: К примеру, у нас есть котировщик ценных бумаг в нашем шаблоне. Мы собираем данные о котировках ценных бумаг в нашем приложении, затем передаём эти переменные в шаблон и отображаем @@ -320,7 +349,8 @@ <para> <filename>function.load_ticker.php</filename> - поместите файл в - <link linkend="variable.plugins.dir">директорию $plugins</link> + <link linkend="variable.plugins.dir"> + <parameter>директорию $plugins</parameter></link> </para> <programlisting role="php"> <![CDATA[ @@ -358,9 +388,11 @@ </example> <para> См. также - <link linkend="language.function.include.php">{include_php}</link>, - <link linkend="language.function.include">{include}</link> и - <link linkend="language.function.php">{php}</link>. + <link linkend="language.function.include.php"> + <varname>{include_php}</varname></link>, + <link linkend="language.function.include"> + <varname>{include}</varname></link> и + <link linkend="language.function.php"><varname>{php}</varname></link>. </para> </sect1> @@ -373,15 +405,14 @@ проблему, вы можете сделать так, чотбы ваш e-mail адрес отображался в скрытом за javascript'ом виде в HTML-исходниках, в то же время выглядя и работая корректно в браузере. Это можно совершить при помощи - расширения <link linkend="language.function.mailto">{mailto}</link>. + расширения <link linkend="language.function.mailto"> + <varname>{mailto}</varname></link>. </para> <example> - <title>Пример сокрытия e-mail адреса</title> + <title>Пример сокрытия e-mail адреса в шаблоне</title> <programlisting> <![CDATA[ -{* в шаблоне *} - -По вопросам обращайтесь на +Вопросы направляйте по адресу {mailto address=$EmailAddress encode="javascript" subject="Hello"} ]]> </programlisting> @@ -392,14 +423,15 @@ Этот метод не может гарантировать 100% защиты. Существует вероятность, что спамер запрограммирует свой сборщик e-mail адресов на раскодирование этих значений, - но это маловероятно... будем надеяться... пока что... + но это маловероятно... + будем надеяться... пока что... куда я там дел свой квантовый компьютер :-?. </para> </note> <para> - См. также - <link linkend="language.modifier.escape">escape</link> и - <link linkend="language.function.mailto">{mailto}</link>. + См. также модификатор + <link linkend="language.modifier.escape"><varname>escape</varname></link> и + <link linkend="language.function.mailto"><varname>{mailto}</varname></link>. </para> </sect1> </chapter> http://cvs.php.net/viewvc.cgi/smarty/docs/ru/appendixes/troubleshooting.xml?r1=1.8&r2=1.9&diff_format=u Index: smarty/docs/ru/appendixes/troubleshooting.xml diff -u smarty/docs/ru/appendixes/troubleshooting.xml:1.8 smarty/docs/ru/appendixes/troubleshooting.xml:1.9 --- smarty/docs/ru/appendixes/troubleshooting.xml:1.8 Sat Jan 19 17:08:08 2008 +++ smarty/docs/ru/appendixes/troubleshooting.xml Sun Jan 20 14:28:43 2008 @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- $Revision: 1.8 $ --> -<!-- EN-Revision: 1.4 Maintainer: freespace Status: ready --> +<!-- $Revision: 1.9 $ --> +<!-- EN-Revision: 1.7 Maintainer: freespace Status: ready --> <chapter id="troubleshooting"> <title>Решение проблем</title> <para></para> @@ -47,112 +47,134 @@ <para> Когда вы встречаетесь с ошибкой разбора PHP, номер строки, в которой допущена ошибка, будет соответствовать скомпилированному PHP-скрипту, - а не самому шаблону. Обычно вы можете посмотреть на шаблон и увидить + а НЕ самому шаблону. Обычно вы можете посмотреть на шаблон и увидить синтаксическую ошибку. Типичные ошибки: отсутствующие закрывающие тэги для - <link linkend="language.function.if">{if}{/if}</link> или - <link linkend="language.function.if">{section}{/section}</link>, - или синтаксис логики внутри тэга {if}. + <link linkend="language.function.if"><varname>{if}{/if}</varname></link> или + <link linkend="language.function.if"> + <varname>{section}{/section}</varname></link>, + или синтаксис логики внутри тэга <varname>{if}</varname>. Если вы не можете найти ошибку, вам может понадобиться открыть скомпилированный PHP-файл и перейти к номеру строки чтобы выяснить, в чём заключается ошибка в шаблоне. </para> <example> - <title>Other common errors</title> - - <itemizedlist> - <listitem> - <screen> + <title>Другие частые ошибки</title> + <screen> <![CDATA[ Warning: Smarty error: unable to read resource: "index.tpl" in... or Warning: Smarty error: unable to read resource: "site.conf" in... ]]> - </screen> - <para> - <itemizedlist> - <listitem> - <para> - Значение <link - linkend="variable.template.dir">$template_dir</link> - неверно, эта директория не существует или файл - <filename>index.tpl</filename> находится за пределами директории - <filename class="directory">templates/</filename> - </para> - </listitem> - <listitem> - <para> - В шаблоне присутствует функция <link - linkend="language.function.config.load">{config_load}</link> - (либо была вызвана функция - <link linkend="api.config.load">config_load()</link>) - и значение - <link linkend="variable.config.dir">$config_dir</link> - неверно, эта директория не существует или файл - <filename>site.conf</filename> находится за пределами этой - директории. - </para> - </listitem> - </itemizedlist> - </para> - </listitem> - <listitem> - <screen> + </screen> + <para> + <itemizedlist> + <listitem> + <para> + Значение <link + linkend="variable.template.dir"> + <parameter>$template_dir</parameter></link> + неверно, эта директория не существует или файл + <filename>index.tpl</filename> не найден в директории + <filename class="directory">templates/</filename>. + </para> + </listitem> + <listitem> + <para> + В шаблоне присутствует функция <link + linkend="language.function.config.load"> + <varname>{config_load}</varname></link> + (либо была вызвана функция + <link linkend="api.config.load"> + <varname>config_load()</varname></link>) + и значение + <link linkend="variable.config.dir"> + <parameter>$config_dir</parameter></link> + неверно, эта директория не существует или файл + <filename>site.conf</filename> находится за пределами этой + директории. + </para> + </listitem> + </itemizedlist> + </para> + + <screen> <![CDATA[ Fatal error: Smarty error: the $compile_dir 'templates_c' does not exist, or is not a directory... ]]> - </screen> + </screen> + + <itemizedlist> + <listitem> <para> Переменная - <link linkend="variable.compile.dir">$compile_dir</link> + <link linkend="variable.compile.dir"> + <parameter>$compile_dir</parameter></link> установлена неверно, эта директория не существует или <filename>templates_c</filename> является файлом, а не директорией. </para> </listitem> - <listitem> - <screen> + </itemizedlist> + + <screen> <![CDATA[ Fatal error: Smarty error: unable to write to $compile_dir '.... ]]> - </screen> + </screen> + + <itemizedlist> + <listitem> <para> У веб сервера нет прав на запись в директорию - <link linkend="variable.compile.dir">$compile_dir</link>. + <link linkend="variable.compile.dir"> + <parameter>$compile_dir</parameter></link>. Смотрите конец страницы <link linkend="installing.smarty.basic">Базовая установка</link> для получения информации о правах доступа. </para> </listitem> - <listitem> - <screen> + </itemizedlist> + + <screen> <![CDATA[ Fatal error: Smarty error: the $cache_dir 'cache' does not exist, or is not a directory. in /.. ]]> - </screen> + </screen> + + <itemizedlist> + <listitem> <para> - Это означает, что - <link linkend="variable.caching">$caching</link> включено и - <link linkend="variable.cache.dir">$cache_dir</link> - установлена неправильно, директория не существует - или <filename>cache</filename> является файлом, а не + Это означает, что параметр + <link linkend="variable.caching"> + <parameter>$caching</parameter></link> включен, но параметр + <link linkend="variable.cache.dir"> + <parameter>$cache_dir</parameter></link> + установлен неправильно, эта директория не существует + или <filename>cache/</filename> является файлом, а не директорией. </para> </listitem> - <listitem> - <screen> + </itemizedlist> + + <screen> <![CDATA[ Fatal error: Smarty error: unable to write to $cache_dir '/... ]]> - </screen> + </screen> + + <itemizedlist> + <listitem> <para> - Это означает, что - <link linkend="variable.caching">$caching</link> включено и + Это означает, что параметр + <link linkend="variable.caching"> + <parameter>$caching</parameter></link> включен, но у веб сервера нет прав на запись в директорию - <link linkend="variable.cache.dir">$cache_dir</link>. + <link linkend="variable.cache.dir"> + <parameter>$cache_dir</parameter></link>. Смотрите конец страницы <link linkend="installing.smarty.basic">Базовая установка</link> для получения информации о правах доступа. @@ -160,11 +182,13 @@ </listitem> </itemizedlist> </example> + <para> См. также - <link linkend="chapter.debugging.console">debugging</link>, - <link linkend="variable.error.reporting">$error_reporting</link> и - <link linkend="api.trigger.error">trigger_error()</link>. + <link linkend="chapter.debugging.console">Отладочная консоль</link>, + <link linkend="variable.error.reporting"> + <parameter>$error_reporting</parameter></link> и + <link linkend="api.trigger.error"><varname>trigger_error()</varname></link>. </para> </sect1> </chapter> http://cvs.php.net/viewvc.cgi/smarty/docs/ru/designers/chapter-debugging-console.xml?r1=1.7&r2=1.8&diff_format=u Index: smarty/docs/ru/designers/chapter-debugging-console.xml diff -u smarty/docs/ru/designers/chapter-debugging-console.xml:1.7 smarty/docs/ru/designers/chapter-debugging-console.xml:1.8 --- smarty/docs/ru/designers/chapter-debugging-console.xml:1.7 Sat Jan 19 17:08:08 2008 +++ smarty/docs/ru/designers/chapter-debugging-console.xml Sun Jan 20 14:28:43 2008 @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- $Revision: 1.7 $ --> -<!-- EN-Revision: 1.7 Maintainer: freespace Status: ready --> +<!-- $Revision: 1.8 $ --> +<!-- EN-Revision: 1.8 Maintainer: freespace Status: ready --> <chapter id="chapter.debugging.console"> <title>Отладочная консоль</title> <para> @@ -9,34 +9,47 @@ <link linkend="api.assign">присвоенные</link> переменные и настройки из <link linkend="language.config.variables">конфинурационных файлов</link> для текущего экземпляра Smarty. - Шаблон "debug.tpl", поставляемый вместе со Smarty, управляет видом консоли. + Шаблон <literal>debug.tpl</literal>, поставляемый вместе со Smarty, + задает внешний вид консоли. + </para> + <para> Установите опцию Smarty - <link linkend="variable.debugging">$debugging</link> в true и, если + <link linkend="variable.debugging"> + <parameter>$debugging</parameter></link> в true и, если необходимо, укажите в - <link linkend="variable.debug.tpl">$debug_tpl</link> путь к шаблону - debug.tpl (по умолчанию это - <link linkend="constant.smarty.dir">SMARTY_DIR</link>). - Когда вы загружаете страницу, должно появиться всплывающие окно и вывести - консоль отладки. Для вывода доступных переменных из конкретного шаблона, - см. функцию <link linkend="language.function.debug">{debug}</link>. - Для отключения консоли отладки, установите - <link linkend="variable.debugging">$debugging</link> в false. - Можно также опционально включить консоль отладки, добавив SMARTY_DEBUG в - URL, если включена опция - <link linkend="variable.debugging.ctrl">$debugging_ctrl</link>. + <link linkend="variable.debug.tpl"> + <parameter>$debug_tpl</parameter></link> путь к шаблону + <literal>debug.tpl</literal> (по умолчанию это + <link linkend="constant.smarty.dir"><constant>SMARTY_DIR</constant></link>). + Когда вы загружаете страницу, должно появиться всплывающие окно Javascript + и вывести список всех подключенных шаблонов и назначенных переменных + для данной страницы. + </para> + <para> + Для вывода доступных переменных из конкретного шаблона, + см. функцию <link linkend="language.function.debug"> + <varname>{debug}</varname></link>. + Для отключения консоли отладки, установите параметр + <link linkend="variable.debugging"> + <parameter>$debugging</parameter></link> в false. + Можно также опционально включить консоль отладки, добавив + <literal>SMARTY_DEBUG</literal> в URL, предварительно включив параметр + <link linkend="variable.debugging.ctrl"> + <parameter>$debugging_ctrl</parameter></link>. </para> <note> <title>Техническое Примечание</title> <para> Консоль отладки не работает, когда используется функция API - <link linkend="api.fetch">fetch()</link>. + <link linkend="api.fetch"><varname>fetch()</varname></link>. Необходимо использовать только функцию - <link linkend="api.display">display()</link>. + <link linkend="api.display"><varname>display()</varname></link>. Она генерирует javascript код вначале каждой сгенерированной страницы. - Если вам не нравится javascript, можно отредатировать debug.tpl для + Если вам не нравится javascript, можно отредатировать + <literal>debug.tpl</literal> для изменения способа отображения по вашему вкусу. Отладочная информация не кэшируется и в отладочную информацию не - включается информация о debug.tpl. + включается информация о <literal>debug.tpl</literal>. </para> </note> <note> @@ -48,9 +61,11 @@ <para> См. также <link linkend="troubleshooting">Решение проблем</link>, - <link linkend="variable.error.reporting">$error_reporting</link> + <link linkend="variable.error.reporting"> + <parameter>$error_reporting</parameter></link> и - <link linkend="api.trigger.error">trigger_error()</link>. + <link linkend="api.trigger.error"> + <varname>trigger_error()</varname></link>. </para> </chapter> <!-- Keep this comment at the end of the file http://cvs.php.net/viewvc.cgi/smarty/docs/ru/designers/config-files.xml?r1=1.8&r2=1.9&diff_format=u Index: smarty/docs/ru/designers/config-files.xml diff -u smarty/docs/ru/designers/config-files.xml:1.8 smarty/docs/ru/designers/config-files.xml:1.9 --- smarty/docs/ru/designers/config-files.xml:1.8 Sat Jan 19 17:08:08 2008 +++ smarty/docs/ru/designers/config-files.xml Sun Jan 20 14:28:43 2008 @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- $Revision: 1.8 $ --> -<!-- EN-Revision: 1.7 Maintainer: freespace Status: ready --> +<!-- $Revision: 1.9 $ --> +<!-- EN-Revision: 1.8 Maintainer: freespace Status: ready --> <chapter id="config.files"> <title>Конфигурационные файлы</title> <para> @@ -60,28 +60,34 @@ становятся доступными. Если переменная существует как глобальная, так и внутри секции, то используется версия из секции. Если есть две одинаковые переменные в пределах одной секции, то используеться последний встретившийся - вариант. + вариант, если только параметр <link linkend="variable.config.overwrite"> + <parameter>$config_overwrite</parameter></link> + не был предварительно отключен. </para> <para> - Файлы конфигурации загружаются в шаблон в помощью функции - <link linkend="language.function.config.load"><command> - {config_load}</command></link> (см. также <link - linkend="api.config.load"><command>config_load()</command></link>). + Файлы конфигурации загружаются в шаблон при помощи + встроенной шаблонной функции + <link linkend="language.function.config.load"><varname> + {config_load}</varname></link> или API-функции <link + linkend="api.config.load"><varname>config_load()</varname></link>. </para> <para> Можно спрятать отдельные переменные или целые секции, добавив к названию - точку в начале. Это полезно, когда ваше приложение берет некоторые + точку в начале, например <literal>[.hidden]</literal>. + Это полезно, когда ваше приложение берет некоторые переменные, ненужные в шаблоне, из файла конфигурации. Если шаблоны могут редактировать третьи лица, то вы можете быть спокойны за ценную информацию из файлов конфигураций: они не смогут ее загрузить в шаблон. </para> <para> - См. также <link - linkend="language.function.config.load">{config_load}</link>, <link - linkend="variable.config.overwrite">$config_overwrite</link>, <link - linkend="api.get.config.vars">get_config_vars()</link>, <link - linkend="api.clear.config">clear_config()</link> и <link - linkend="api.config.load">config_load()</link> + См. также <link linkend="language.function.config.load"> + <varname>{config_load}</varname></link>, + <link linkend="variable.config.overwrite"> + <parameter>$config_overwrite</parameter></link>, + <link linkend="api.get.config.vars"> + <varname>get_config_vars()</varname></link>, + <link linkend="api.clear.config"><varname>clear_config()</varname></link> и + <link linkend="api.config.load"><varname>config_load()</varname></link> </para> </chapter> <!-- Keep this comment at the end of the file http://cvs.php.net/viewvc.cgi/smarty/docs/ru/designers/language-basic-syntax.xml?r1=1.9&r2=1.10&diff_format=u Index: smarty/docs/ru/designers/language-basic-syntax.xml diff -u smarty/docs/ru/designers/language-basic-syntax.xml:1.9 smarty/docs/ru/designers/language-basic-syntax.xml:1.10 --- smarty/docs/ru/designers/language-basic-syntax.xml:1.9 Sat Jan 19 17:08:08 2008 +++ smarty/docs/ru/designers/language-basic-syntax.xml Sun Jan 20 14:28:43 2008 @@ -1,15 +1,15 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- $Revision: 1.9 $ --> -<!-- EN-Revision: 1.6 Maintainer: freespace Status: ready --> +<!-- $Revision: 1.10 $ --> +<!-- EN-Revision: 1.8 Maintainer: freespace Status: ready --> <chapter id="language.basic.syntax"> <title>Базовый синтаксис</title> <para> Все тэги шаблонов Smarty располагаются между специальными - разделителями. По умолчанию это <literal>{</literal> и - <literal>}</literal>, но они могут быть <link linkend="variable.left.delimiter">изменены</link>. + разделителями. По умолчанию это <literal>{</literal> и <literal>}</literal>, + но они могут быть <link linkend="variable.left.delimiter">изменены</link>. </para> <para> - Для наших примеров мы будем использовать стандартные разделители. + В примерах этого руководства мы будем использовать стандартные разделители. Smarty все содержимое вне разделителей отображает как статический контент, без изменений. Когда Smarty встречает тэги шаблона, то пытается интерпретировать их и вывести вместо них соответствующий результат. http://cvs.php.net/viewvc.cgi/smarty/docs/ru/designers/language-builtin-functions.xml?r1=1.10&r2=1.11&diff_format=u Index: smarty/docs/ru/designers/language-builtin-functions.xml diff -u smarty/docs/ru/designers/language-builtin-functions.xml:1.10 smarty/docs/ru/designers/language-builtin-functions.xml:1.11 --- smarty/docs/ru/designers/language-builtin-functions.xml:1.10 Sat Jan 19 17:08:08 2008 +++ smarty/docs/ru/designers/language-builtin-functions.xml Sun Jan 20 14:28:43 2008 @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- $Revision: 1.10 $ --> -<!-- EN-Revision: 1.6 Maintainer: freespace Status: ready --> +<!-- $Revision: 1.11 $ --> +<!-- EN-Revision: 1.8 Maintainer: freespace Status: ready --> <chapter id="language.builtin.functions"> <title>Встроенные функции</title> <para> @@ -11,10 +11,10 @@ </para> <para> - Некоторые эти функции имеют атрибут <emphasis role="bold">assign</emphasis>, + Некоторые эти функции имеют атрибут <parameter>assign</parameter>, который помещает результати их выполнения в переменную шаблона, вместо вывода в браузер, практически как функция - <link linkend="language.function.assign">{assign}</link>. + <link linkend="language.function.assign"><varname>{assign}</varname></link>. </para> &designers.language-builtin-functions.language-function-capture; http://cvs.php.net/viewvc.cgi/smarty/docs/ru/designers/language-modifiers.xml?r1=1.11&r2=1.12&diff_format=u Index: smarty/docs/ru/designers/language-modifiers.xml diff -u smarty/docs/ru/designers/language-modifiers.xml:1.11 smarty/docs/ru/designers/language-modifiers.xml:1.12 --- smarty/docs/ru/designers/language-modifiers.xml:1.11 Sat Jan 19 17:08:08 2008 +++ smarty/docs/ru/designers/language-modifiers.xml Sun Jan 20 14:28:43 2008 @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- $Revision: 1.11 $ --> -<!-- EN-Revision: 1.23 Maintainer: freespace Status: ready --> +<!-- $Revision: 1.12 $ --> +<!-- EN-Revision: 1.26 Maintainer: freespace Status: ready --> <chapter id="language.modifiers"> <title>Модификаторы переменных</title> <para> @@ -11,8 +11,10 @@ указать символ <literal>|</literal> (вертикальная черта) и название модификатора. Так же модификаторы могут принимать параметры, которые влияют на их поведение. Эти параметры следуют за названием модификатора и разделяются - <literal>:</literal> (двоеточием). Кроме того, все функции PHP могут быть - использованы в качестве модификаторов - об этом дальше. + <literal>:</literal> (двоеточием). Кроме того, <emphasis>все функции PHP + могут быть использованы в качестве модификаторов</emphasis> (об этом дальше) + и модификаторы можно + <link linkend="language.combining.modifiers">комбинировать</link>. </para> <example> <title>Примеры модификаторов</title> @@ -55,43 +57,76 @@ ]]> </programlisting> </example> + + <itemizedlist> + <listitem> <para> Если модификатор применяется к переменной-массиву, то он будет применен к каждому элементу массива. Если же требуется применить модификатор к массиву, как к переменной, то необходимо перед именем модификатора указать символ - <literal>@</literal>. Пример: <literal>{$articleTitle|@count}</literal> выведет - количество елементов в массиве $articleTitle. + <literal>@</literal>. + + <note> + <title>Пример</title> + <para> + <literal>{$articleTitle|@count}</literal> - выведет количество елементов + в массиве <parameter>$articleTitle</parameter> используя стандартную + функцию PHP + <ulink url="&url.php-manual;count"><varname>count()</varname></ulink> + в качестве модификатора. + </para> + </note> </para> + </listitem> + <listitem> <para> - Модификаторы автоматически загружаются из директории - <link linkend="variable.plugins.dir">$plugins_dir</link> - или могут быть явно зарегистрированы при помощи - <link linkend="api.register.modifier">register_modifier()</link>; + Модификаторы автоматически загружаются из директории <link + linkend="variable.plugins.dir"><parameter>$plugins_dir</parameter></link> + или могут быть явно зарегистрированы при помощи функции + <link linkend="api.register.modifier"> + <varname>register_modifier()</varname></link>; это удобно для использования функции как в PHP-коде, так и в шаблоне. </para> <para> - Любая PHP-функция может быть явно использована в качестве модификатора. - (Предыдущий пример с <literal>@count</literal> на самом деле использует функцию - PHP, а не модификатор Smarty). Использование PHP-функций в качестве модификаторов - имеет две маленькие "ловушки": Во-первых, иногда порядок аргументов функции - не самый удобный (<literal>{"%2.f"|sprintf:$float}</literal> - это рабочий, но - не совсем удобный вариант. Больше подойдет <literal>{$float|string_format:"%2.f"}</literal>, - который обеспечивается дистрибутивом Smarty). Во-вторых, в случае включения <link - linkend="variable.security">$security</link>, все PHP-функции, которые будут - использованы как модификаторы, должны быть объявлены "безопасными" - в массиве - <link linkend="variable.security.settings">$security_settings['MODIFIER_FUNCS']</link>. + Любая PHP-функция может быть использована в качестве модификатора. + Тем не менее, использование PHP-функций в качестве модификаторов + имеет две маленькие "ловушки": + <itemizedlist> + <listitem> + <para> + Во-первых, иногда порядок аргументов функции не самый удобный. + Форматирование <literal>$foo</literal> при помощи + <literal>{"%2.f"|sprintf:$float}</literal> - это рабочий, но + не совсем удобный вариант. + Больше подойдет <literal>{$float|string_format:"%2.f"}</literal>, + который предлагает дистрибутив Smarty). + </para> + </listitem> + + <listitem> + <para> + Во-вторых, в случае включения <link + linkend="variable.security">$security</link>, все PHP-функции, которые будут + использованы как модификаторы, должны быть объявлены "безопасными" + в элементе <literal>MODIFIER_FUNCS</literal> массива + <link linkend="variable.security.settings"> + <parameter>$security_settings</parameter></link>. + </para> + </listitem> + </itemizedlist> </para> + </listitem> + </itemizedlist> <para> См. также - <link linkend="api.register.modifier">register_modifier()</link>, - <link linkend="api.register.function">register_function()</link>, - <link linkend="plugins">Плагины - расширение функциональности Smarty</link> - и - <link linkend="plugins.modifiers">модификаторы</link>. + <link linkend="api.register.modifier"> + <varname>register_modifier()</varname></link>, + <link linkend="language.combining.modifiers"> + Комбинирование модификаторов</link> и + <link linkend="plugins">Плагины - расширение функциональности Smarty</link>. </para> &designers.language-modifiers.language-modifier-capitalize; http://cvs.php.net/viewvc.cgi/smarty/docs/ru/designers/language-variables.xml?r1=1.7&r2=1.8&diff_format=u Index: smarty/docs/ru/designers/language-variables.xml diff -u smarty/docs/ru/designers/language-variables.xml:1.7 smarty/docs/ru/designers/language-variables.xml:1.8 --- smarty/docs/ru/designers/language-variables.xml:1.7 Sat Jan 19 17:08:08 2008 +++ smarty/docs/ru/designers/language-variables.xml Sun Jan 20 14:28:43 2008 @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- $Revision: 1.7 $ --> -<!-- EN-Revision: 1.6 Maintainer: freespace Status: ready --> +<!-- $Revision: 1.8 $ --> +<!-- EN-Revision: 1.9 Maintainer: freespace Status: ready --> <chapter id="language.variables"> <title>Переменные</title> <para> @@ -8,32 +8,36 @@ символа, с которого начинается, или в какой заключена переменная. </para> <para> - Variables in Smarty can be either displayed directly or used as arguments - for <link linkend="language.syntax.functions">function</link> - <link linkend="language.syntax.attributes">attributes</link> and - <link linkend="language.modifiers">modifiers</link>, inside conditional expressions, - etc. To print a variable, simply enclose it in the - <link linkend="variable.left.delimiter">delimiters</link> so that it - is the only thing contained between them. Examples: - - Переменные в Smarty могут быть отображены или использованы как - <link linkend="language.syntax.attributes">аргументы</link> - <link linkend="language.syntax.functions">функций</link> и - <link linkend="language.modifiers">модификаторов</link>, + <link linkend="language.syntax.functions">функции</link>, + <link linkend="language.syntax.attributes">аргументы</link>, + <link linkend="language.modifiers">модификаторы</link>, внутри выражений условных операторов и т.д. Для вывода значения переменной необходимо указать имя переменной между <link linkend="variable.left.delimiter">разделителями</link>. - Примеры: - <programlisting> + + <example> + <title>Пример использования переменных</title> + <programlisting> <![CDATA[[ {$Name} +{$product.part_no} <b>{$product.description}</b> + {$Contacts[row].Phone} <body bgcolor="{#bgcolor#}"> ]]> - </programlisting> + </programlisting> + </example> + <note> + <title>Полезный совет</title> + <para> + При помощи + <link linkend="chapter.debugging.console">отладочной консоли</link> + можно легко просмотреть значения переменных Smarty. + </para> + </note> </para> &designers.language-variables.language-assigned-variables; http://cvs.php.net/viewvc.cgi/smarty/docs/ru/designers/language-basic-syntax/language-escaping.xml?r1=1.5&r2=1.6&diff_format=u Index: smarty/docs/ru/designers/language-basic-syntax/language-escaping.xml diff -u smarty/docs/ru/designers/language-basic-syntax/language-escaping.xml:1.5 smarty/docs/ru/designers/language-basic-syntax/language-escaping.xml:1.6 --- smarty/docs/ru/designers/language-basic-syntax/language-escaping.xml:1.5 Sat Jan 19 17:08:08 2008 +++ smarty/docs/ru/designers/language-basic-syntax/language-escaping.xml Sun Jan 20 14:28:43 2008 @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- $Revision: 1.5 $ --> -<!-- EN-Revision: 1.7 Maintainer: freespace Status: ready --> +<!-- $Revision: 1.6 $ --> +<!-- EN-Revision: 1.8 Maintainer: freespace Status: ready --> <sect1 id="language.escaping"> <title>Предотвращение обработки Smarty</title> <para> @@ -20,19 +20,23 @@ <para> Дословное включение контента возможно при помощи блоков <link - linkend="language.function.literal">{literal} .. {/literal}</link>. + linkend="language.function.literal"> + <varname>{literal}..{/literal}</varname></link>. Подобно тому, как вы используете HTML-сущности (&amp;nbsp; и т.п.), вы можете использовать <link - linkend="language.function.ldelim">{ldelim}</link>,<link - linkend="language.function.ldelim">{rdelim}</link> или <link - linkend="language.variables.smarty.ldelim">{$smarty.ldelim}</link> + linkend="language.function.ldelim"><varname>{ldelim}</varname></link>,<link + linkend="language.function.ldelim"><varname>{rdelim}</varname></link> или + <link linkend="language.variables.smarty.ldelim"> + <varname>{$smarty.ldelim}</varname></link> для отображения текущих разделителей. </para> <para> Порой бывает удобно просто изменить свойства <link - linkend="variable.left.delimiter">$left_delimiter</link> и - <link linkend="variable.right.delimiter">$right_delimiter</link> + linkend="variable.left.delimiter"> + <parameter>$left_delimiter</parameter></link> и + <link linkend="variable.right.delimiter"> + <parameter>$right_delimiter</parameter></link> в объекте Smarty. </para> <example> @@ -41,9 +45,9 @@ <![CDATA[ <?php -$smarty = new Smarty; $smarty->left_delimiter = '<!--{'; $smarty->right_delimiter = '}-->'; + $smarty->assign('foo', 'bar'); $smarty->assign('name', 'Albert'); $smarty->display('example.tpl'); @@ -52,7 +56,7 @@ ]]> </programlisting> <para> - Шаблон example.tpl: + Пример шаблона: </para> <programlisting> <![CDATA[ @@ -67,9 +71,6 @@ ]]> </programlisting> </example> - <para> - См. также <link linkend="language.modifier.escape">модификатор escape</link> - </para> </sect1> <!-- Keep this comment at the end of the file Local variables: http://cvs.php.net/viewvc.cgi/smarty/docs/ru/designers/language-basic-syntax/language-math.xml?r1=1.4&r2=1.5&diff_format=u Index: smarty/docs/ru/designers/language-basic-syntax/language-math.xml diff -u smarty/docs/ru/designers/language-basic-syntax/language-math.xml:1.4 smarty/docs/ru/designers/language-basic-syntax/language-math.xml:1.5 --- smarty/docs/ru/designers/language-basic-syntax/language-math.xml:1.4 Sat Jan 19 17:08:08 2008 +++ smarty/docs/ru/designers/language-basic-syntax/language-math.xml Sun Jan 20 14:28:43 2008 @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- $Revision: 1.4 $ --> -<!-- EN-Revision: 1.4 Maintainer: freespace Status: ready --> +<!-- $Revision: 1.5 $ --> +<!-- EN-Revision: 1.5 Maintainer: freespace Status: ready --> <sect1 id="language.math"> <title>Арифметические операции</title> <para> @@ -27,8 +27,9 @@ </programlisting> </example> <para> - См. также функцию <link linkend="language.function.math">{math}</link> для - сложных вычислений. + См. также функцию <link linkend="language.function.math"> + <varname>{math}</varname></link> для сложных вычислений и + <link linkend="language.function.eval"><varname>{eval}</varname></link>. </para> </sect1> <!-- Keep this comment at the end of the file http://cvs.php.net/viewvc.cgi/smarty/docs/ru/designers/language-basic-syntax/language-syntax-attributes.xml?r1=1.8&r2=1.9&diff_format=u Index: smarty/docs/ru/designers/language-basic-syntax/language-syntax-attributes.xml diff -u smarty/docs/ru/designers/language-basic-syntax/language-syntax-attributes.xml:1.8 smarty/docs/ru/designers/language-basic-syntax/language-syntax-attributes.xml:1.9 --- smarty/docs/ru/designers/language-basic-syntax/language-syntax-attributes.xml:1.8 Sat Jan 19 17:08:08 2008 +++ smarty/docs/ru/designers/language-basic-syntax/language-syntax-attributes.xml Sun Jan 20 14:28:43 2008 @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- $Revision: 1.8 $ --> -<!-- EN-Revision: 1.6 Maintainer: freespace Status: ready --> +<!-- $Revision: 1.9 $ --> +<!-- EN-Revision: 1.7 Maintainer: freespace Status: ready --> <sect1 id="language.syntax.attributes"> <title>Параметры</title> <para> @@ -14,7 +14,7 @@ заключаться в кавычки. </para> <para> - Некоторые параметры принимают логические значения (true или false). + Некоторые параметры принимают логические значения (&true; или &false;). Они могут быть указаны словами <literal>true</literal>, <literal>on</literal> и <literal>yes</literal>, или <literal>false</literal>, <literal>off</literal> и http://cvs.php.net/viewvc.cgi/smarty/docs/ru/designers/language-basic-syntax/language-syntax-comments.xml?r1=1.10&r2=1.11&diff_format=u Index: smarty/docs/ru/designers/language-basic-syntax/language-syntax-comments.xml diff -u smarty/docs/ru/designers/language-basic-syntax/language-syntax-comments.xml:1.10 smarty/docs/ru/designers/language-basic-syntax/language-syntax-comments.xml:1.11 --- smarty/docs/ru/designers/language-basic-syntax/language-syntax-comments.xml:1.10 Sat Jan 19 17:08:08 2008 +++ smarty/docs/ru/designers/language-basic-syntax/language-syntax-comments.xml Sun Jan 20 14:28:43 2008 @@ -1,15 +1,25 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- $Revision: 1.10 $ --> -<!-- EN-Revision: 1.11 Maintainer: freespace Status: ready --> +<!-- $Revision: 1.11 $ --> +<!-- EN-Revision: 1.14 Maintainer: freespace Status: ready --> <sect1 id="language.syntax.comments"> <title>Комментарии</title> <para> Комментарии в шаблонах заключаются в звездочки (*) окруженные <link linkend="variable.left.delimiter">разделителями</link>, - например: <emphasis>{* это комментарий *}</emphasis>. - Комментарии не отображаются в выводе шаблона, в отличие - от &lt;!-- комментариев HTML --&gt;, - и они используются для внутренних примечаний в шаблонах, которые никто + например: + </para> + <informalexample> + <programlisting> +<![CDATA[ +{* это комментарий *} +]]> + </programlisting> + </informalexample> + + <para> + Smarty НЕ отображает комментарии в выводе шаблона, в отличие + от <literal>&lt;!-- комментариев HTML --&gt;</literal>. + Они используются для внутренних примечаний в шаблонах, которые никто не увидит ;-) </para> <example> @@ -54,6 +64,17 @@ </select> *} +<!-- Отображение заголовков от аффилиатор отключено --> +{* $affiliate|upper *} + +{* вложенные комментарии использовать нельзя *} +{* +<select name="company"> + {* <option value="0">-- нет -- </option> *} + {html_options options=$vals selected=$selected_id} +</select> +*} + {* cvs-тэг шаблона: эти 36 ДОЛЖНЫ быть американской валютой, но в таком случае CVS обработает их *} {* &#36;Id: Exp &#36; *} http://cvs.php.net/viewvc.cgi/smarty/docs/ru/designers/language-basic-syntax/language-syntax-functions.xml?r1=1.10&r2=1.11&diff_format=u Index: smarty/docs/ru/designers/language-basic-syntax/language-syntax-functions.xml diff -u smarty/docs/ru/designers/language-basic-syntax/language-syntax-functions.xml:1.10 smarty/docs/ru/designers/language-basic-syntax/language-syntax-functions.xml:1.11 --- smarty/docs/ru/designers/language-basic-syntax/language-syntax-functions.xml:1.10 Sat Jan 19 17:08:08 2008 +++ smarty/docs/ru/designers/language-basic-syntax/language-syntax-functions.xml Sun Jan 20 14:28:43 2008 @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- $Revision: 1.10 $ --> -<!-- EN-Revision: 1.9 Maintainer: freespace Status: ready --> +<!-- $Revision: 1.11 $ --> +<!-- EN-Revision: 1.10 Maintainer: freespace Status: ready --> <sect1 id="language.syntax.functions"> <title>Функции</title> <para> @@ -9,7 +9,7 @@ некоторую функцию. Они обрабатываются путём заключения функции и ее <link linkend="language.syntax.attributes">параметров</link> в разделители, например: - {funcname attr1='val' attr2='val'}. + <literal>{funcname attr1='val1' attr2='val2'}</literal>. </para> <example> <title>Синтаксис функций</title> @@ -30,19 +30,29 @@ ]]> </programlisting> </example> + + <itemizedlist> + <listitem> <para> И <link linkend="language.builtin.functions">встроенные</link>, и <link linkend="language.custom.functions">пользовательские функции</link> используются с одинаковым синтаксисом. </para> + </listitem> + + <listitem> <para> Встроенные функции обеспечивают <emphasis role="bold">внутреннюю</emphasis> работу Smarty, например - <link linkend="language.function.if">{if}</link>, - <link linkend="language.function.section">{section}</link> и - <link linkend="language.function.strip">{strip}</link>. + <link linkend="language.function.if"><varname>{if}</varname></link>, + <link linkend="language.function.section"> + <varname>{section}</varname></link> и + <link linkend="language.function.strip"><varname>{strip}</varname></link>. У вас не должно быть причин для их модификации. </para> + </listitem> + + <listitem> <para> Пользовательские функции являются <emphasis role="bold">дополнительными</emphasis> и реализуются через @@ -50,13 +60,17 @@ Они могут быть изменены по вашему желанию, также вы можете создать новые. Примерами пользовательских функций могут быть - <link linkend="language.function.html.options">{html_options}</link> и - <link linkend="language.function.popup">{popup}</link>. + <link linkend="language.function.html.options"> + <varname>{html_options}</varname></link> и + <link linkend="language.function.popup"><varname>{popup}</varname></link>. </para> + </listitem> + </itemizedlist> <para> См. также - <link linkend="api.register.function">register_function()</link> + <link linkend="api.register.function"> + <varname>register_function()</varname></link> </para> </sect1> <!-- Keep this comment at the end of the file http://cvs.php.net/viewvc.cgi/smarty/docs/ru/designers/language-basic-syntax/language-syntax-quotes.xml?r1=1.10&r2=1.11&diff_format=u Index: smarty/docs/ru/designers/language-basic-syntax/language-syntax-quotes.xml diff -u smarty/docs/ru/designers/language-basic-syntax/language-syntax-quotes.xml:1.10 smarty/docs/ru/designers/language-basic-syntax/language-syntax-quotes.xml:1.11 --- smarty/docs/ru/designers/language-basic-syntax/language-syntax-quotes.xml:1.10 Sat Jan 19 17:08:08 2008 +++ smarty/docs/ru/designers/language-basic-syntax/language-syntax-quotes.xml Sun Jan 20 14:28:43 2008 @@ -1,27 +1,46 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- $Revision: 1.10 $ --> -<!-- EN-Revision: 1.8 Maintainer: freespace Status: ready --> +<!-- $Revision: 1.11 $ --> +<!-- EN-Revision: 1.11 Maintainer: freespace Status: ready --> <sect1 id="language.syntax.quotes"> <title>Внедренные переменные в двойных кавычках</title> + + <itemizedlist> + <listitem> <para> Smarty распознает <link linkend="api.assign">присвоенные</link> <link linkend="language.syntax.variables">переменные</link>, - если они встречаются в строках, заключенных в двойные кавычки, - если имена переменных состоят из цифр, букв, знака подчёркивания и - квадратных скобок. - В случае, если переменная содержит другие символы - (точки, ссыки на объекты и т.д.), переменную необходимо заключить - в <link linkend="language.syntax.quotes">обратные кавычки</link>. + если они встречаются в строках, заключенных в "двойные кавычки", + если имена переменных состоят из цифр, букв, знака под_чёркивания и + квадратных скобок[]. + См. также <ulink url="&url.php-manual;language.variables">Переменные</ulink>. + </para> + </listitem> + + <listitem> + <para> + В случае, если переменная содержит другие символы, например + точки, ссыки на объекты и т.д., переменную необходимо заключить + в <literal>`обратные кавычки`</literal>. В данном случае вы не можете использовать <link linkend="language.modifiers">модификаторы</link>, их следует применять вне кавычек. </para> + </listitem> + + <listitem> + <para> + Вы не можете использовать + <link linkend="language.modifiers">модификаторы</link> + подобным образом - они всегда должны применяться за пределами кавычек. + </para> + </listitem> + </itemizedlist> + <example> - <title>Синтаксис внедренных переменных</title> + <title>Примеры синтаксиса</title> <programlisting> <![CDATA[ -Пример синтаксиса: {func var="test $foo test"} <-- ищет $foo {func var="test $foo_bar test"} <-- ищет $foo_bar {func var="test $foo[0] test"} <-- ищет $foo[0] @@ -29,15 +48,35 @@ {func var="test $foo.bar test"} <-- ищет $foo (не $foo.bar) {func var="test `$foo.bar` test"} <-- ищет $foo.bar {func var="test `$foo.bar` test"|escape} <-- модификатор вне кавычек! +]]> + </programlisting> + </example> -Практические примеры: -{include file="subdir/$tpl_name.tpl"} <-- заменит $tpl_name на ее значение -{cycle values="one,two,`$smarty.config.myval`"} <-- надо заключать в обратные кавычки + <example> + <title>Практические примеры</title> + <programlisting> +<![CDATA[ +{* заменит $tpl_name её значением *} +{include file="subdir/$tpl_name.tpl"} + +{* не заменит $tpl_name *} +{include file='subdir/$tpl_name.tpl'} <-- + +{* нужны обратные кавычки из за того, что имя содержит точки *} +{cycle values="one,two,`$smarty.config.myval`"} + +{* аналог $module['contact'].'.tpl' в PHP *} +{include file="`$module.contact`.tpl"} + +{* аналог $module[$view].'.tpl' в PHP *} +{include file="$module.$view.tpl"} ]]> </programlisting> </example> + <para> - См. также <link linkend="language.modifier.escape">escape</link>. + См. также + <link linkend="language.modifier.escape"><varname>escape</varname></link>. </para> </sect1> <!-- Keep this comment at the end of the file http://cvs.php.net/viewvc.cgi/smarty/docs/ru/designers/language-basic-syntax/language-syntax-variables.xml?r1=1.6&r2=1.7&diff_format=u Index: smarty/docs/ru/designers/language-basic-syntax/language-syntax-variables.xml diff -u smarty/docs/ru/designers/language-basic-syntax/language-syntax-variables.xml:1.6 smarty/docs/ru/designers/language-basic-syntax/language-syntax-variables.xml:1.7 --- smarty/docs/ru/designers/language-basic-syntax/language-syntax-variables.xml:1.6 Sat Jan 19 17:08:08 2008 +++ smarty/docs/ru/designers/language-basic-syntax/language-syntax-variables.xml Sun Jan 20 14:28:43 2008 @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- $Revision: 1.6 $ --> -<!-- EN-Revision: 1.14 Maintainer: freespace Status: ready --> +<!-- $Revision: 1.7 $ --> +<!-- EN-Revision: 1.15 Maintainer: freespace Status: ready --> <sect1 id="language.syntax.variables"> <title>Переменные</title> <para> @@ -12,7 +12,8 @@ <link linkend="language.config.variables">Переменные конфигурационного файла</link> - это исключения из долларового синтаксиса; к ним можно обращаться, окружив их #решетками# или воспользовавшись специальной переменной - <link linkend="language.variables.smarty.config">$smarty.config</link>. + <link linkend="language.variables.smarty.config"> + <parameter>$smarty.config</parameter></link>. </para> <example> <title>Переменные</title> @@ -46,17 +47,19 @@ </example> <para> - Переменные запроса, такие как $_GET, $_SESSION и т.д. также доступны, см. - описание зарезервированной переменной <emphasis role="bold"><link - linkend="language.variables.smarty">$smarty</link></emphasis> для дополнительной информации. + Переменные запроса, такие как <literal>$_GET</literal>, + <literal>$_SESSION</literal> и т.д. доступны через зарезервированную + переменную <link linkend="language.variables.smarty"> + <parameter>$smarty</parameter></link>. </para> <para> - См. также <link linkend="language.variables.smarty">Зарезервированная переменная $smarty</link>, + См. также <link linkend="language.variables.smarty"> + <parameter>$smarty</parameter></link>, <link linkend="language.config.variables">Переменные файлов конфигурации</link>, - <link linkend="language.function.assign">{assign}</link> + <link linkend="language.function.assign"><varname>{assign}</varname></link> и - <link linkend="api.assign">assign()</link>. + <link linkend="api.assign"><varname>assign()</varname></link>. </para> </sect1> <!-- Keep this comment at the end of the file
« previous php.smarty.cvs (#2279) next »