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
[email protected] ("George Miroshnikov") Sun, 20 Jan 2008 14:28:43 -0000
| Newsgroups | php.smarty.cvs |
|---|---|
| Message-ID | <cvsfreespace1200839323@cvsserver> |
--freespace1200839323
Content-Type: text/plain
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
--freespace1200839323
Content-Type: text/plain
Content-Disposition: attachment; filename="freespace-20080120142843.txt"
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>
Иногда, например, для того чтобы фон таблицы работал корректно,
необходимо вывести вместо пустого значения переменной, значение
- по умолчанию "&nbsp;". Многие бы использовали конструкцию
- <link linkend="language.function.if">{if}</link>,
+ по умолчанию, например <literal>&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>Вывод &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-сущности (&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>.
- Комментарии не отображаются в выводе шаблона, в отличие
- от <!-- комментариев HTML -->,
- и они используются для внутренних примечаний в шаблонах, которые никто
+ например:
+ </para>
+ <informalexample>
+ <programlisting>
+<![CDATA[
+{* это комментарий *}
+]]>
+ </programlisting>
+ </informalexample>
+
+ <para>
+ Smarty НЕ отображает комментарии в выводе шаблона, в отличие
+ от <literal><!-- комментариев HTML --></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 обработает их *}
{* $Id: Exp $ *}
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
--freespace1200839323--