diff --git a/docs/ru/designers/language-builtin-functions/language-function-capture.xml b/docs/ru/designers/language-builtin-functions/language-function-capture.xml index 36dbd5a3..21c63ccd 100644 --- a/docs/ru/designers/language-builtin-functions/language-function-capture.xml +++ b/docs/ru/designers/language-builtin-functions/language-function-capture.xml @@ -1,50 +1,53 @@ - + - - capture - - capture используется, чтобы присвоить вывод шаблона какой-либо - переменной вместо его вывода. Любое содержание между {capture - name="foo"} и {/capture} сохраняется в переменную, указанную в - атрибуте name. Затем его можно использовать в шаблоне с помощью - специальной переменной $smarty.capture.foo, где foo - значение, - переданное атрибуту name. Если аттрибут name не указан, то - используется default. Каждая комманда {capture} должна иметь пару - {/capture}. capture поддерживает вложение. - - - Техническое замечание - - Smarty 1.4.0 - 1.4.4 помещало захваченный вывод в переменную $return. - С версии 1.4.5 поведение было изменено на использование атрибута name, - так что обновите ваши шаблоны соответственно. - - - - - Будте осторожны, сохраняя вывод комманды insert. - Есил вы используете кэширование и встречаются комманды - insert в области кэированния, то - не сохраняйте данный вывод. - - - - - Сохранение вывода шаблона - + + capture + + capture используется для того, чтобы присвоить вывод шаблона какой-либо + переменной вместо его вывода на экран. Любое содержание между {capture + name="foo"} и {/capture} сохраняется в переменную, указанную в + атрибуте name. Затем его можно использовать в шаблоне с помощью + специальной переменной $smarty.capture.foo, где foo - значение, + переданное атрибуту name. Если аттрибут name не указан, то + используется default. Каждая комманда {capture} должна иметь пару + {/capture}. capture поддерживает вложение. + + + Техническое замечание + + Smarty 1.4.0 - 1.4.4 помещало захваченный вывод в переменную $return. + С версии 1.4.5 поведение было изменено на использование атрибута name, + так что обновите ваши шаблоны соответственно. + + + + + Будте осторожны, сохраняя вывод комманды insert. + Если вы используете кэширование и встречаются команды + insert в области кэiированния, то + не сохраняйте данный вывод. + + + + + Сохранение вывода шаблона + + + {$smarty.capture.banner} - </td> - </tr> -{/if} - - + + + {/if} +]]> + + + \ No newline at end of file +--> + diff --git a/docs/ru/designers/language-builtin-functions/language-function-config-load.xml b/docs/ru/designers/language-builtin-functions/language-function-config-load.xml index 67118c8f..66ff7b6d 100644 --- a/docs/ru/designers/language-builtin-functions/language-function-config-load.xml +++ b/docs/ru/designers/language-builtin-functions/language-function-config-load.xml @@ -1,122 +1,129 @@ - + - - config_load - - - - - - - - - - Имя аттрибута - Тип - Обязателен - По умолчанию - Описание - - - - - file - строка (string) - Да - n/a - Имя config файла для загрузки - - - section - строка (string) - Нет - n/a - Имя секции для загрузки - - - scope - строка (string) - Нет - local - - Способ обработки области видимости загруженных - переменных. Должен быть одинм из local, parent - или global. local означает, что переменные загружены - в контекст локального шаблона. parent означает, что - переменные загружены в контекст как локального, так - и родительского шаблона. global означает, что - переменные доступны из любого шаблона. - - - - global - логический (boolean) - Нет - No - - Доступны ли переменные из родительского шаблона. - Аналогичен scope=parent. ЗАМЕЧАНИЕ: Этот аттрибут - перекрывается аттрибутом scope, но все еще - поддерживается. Если scope указан, то это значение - игнорируется. - - - - - - - Эта функция используется для загрузки переменных в - шаблон из файлов конфигруации. Смотри - Файлы конфигурации - для дополнительной информации. - - -функция config_load - - + + config_load + + + + + + + + + + Имя аттрибута + Тип + Обязателен + По умолчанию + Описание + + + + + file + строка (string) + Да + n/a + Имя config файла для загрузки + + + section + строка (string) + Нет + n/a + Имя секции для загрузки + + + scope + строка (string) + Нет + local + + Способ обработки области видимости загруженных + переменных. Должен быть одинм из local, parent + или global. local означает, что переменные загружены + в контекст локального шаблона. parent означает, что + переменные загружены в контекст как локального, так + и родительского шаблона. global означает, что + переменные доступны из любого шаблона. + + + + global + логический (boolean) + Нет + No + + Доступны ли переменные из родительского шаблона. + Аналогичен scope=parent. ЗАМЕЧАНИЕ: Этот аттрибут + перекрывается аттрибутом scope, но все еще + поддерживается. Если scope указан, то это значение + игнорируется. + + + + + + + Эта функция используется для загрузки переменных в + шаблон из файлов конфигруации. Смотри + Файлы конфигурации + для дополнительной информации. + + + функция config_load + + - - - Файлы конфигурации также могут содержать секции. Можно загрузить - переменные из определенной секции, указав аттрибут - section. - - - ЗАМЕЧАНИЕ: Секции файлов конфигурации и встроенная - функция section не имеют ничего общего, кроме - схожего названия. - - -функция config_load с указанием секции - + +{#pageTitle#} + + + + + + + +
FirstLastAddress
+ + +]]> +
+
+ + Файлы конфигурации также могут содержать секции. Можно загрузить + переменные из определенной секции, указав аттрибут + section. + + + + Секции файлов конфигурации и встроенная + функция section не имеют ничего общего, кроме + схожего названия. + + + + функция config_load с указанием секции + + - + +{#pageTitle#} + + + + + + + +
FirstLastAddress
+ + +]]> +
+
\ No newline at end of file +--> + diff --git a/docs/ru/designers/language-builtin-functions/language-function-foreach.xml b/docs/ru/designers/language-builtin-functions/language-function-foreach.xml index 11338920..601c686c 100644 --- a/docs/ru/designers/language-builtin-functions/language-function-foreach.xml +++ b/docs/ru/designers/language-builtin-functions/language-function-foreach.xml @@ -1,169 +1,175 @@ - + - - foreach,foreachelse - - - - - - - - - - Имя аттрибута - Тип - Обязателен - По умолчанию - Описание - - - - - from - строка (string) - Да - n/a - Имя массива, по которому надо пройтись - - - item - строка (string) - Да - n/a - Имя переменной, которая будет выступать в - качестве значения текущего елемента - - - key - строка (string) - Нет - n/a - Имя переменной, которая будет выступать в - качестве ключа текущего елемента - - - name - строка (string) - Нет - n/a - Название цикла foreach для доступа к его - свойствам - - - - - - Циклы foreach являются альтернативой - циклам section. Циклы - foreach используются для прохождения - по одному массиву. Синтаксис foreach - намного проще, чем section, но его - можно использовать только для одного массива. - Тэг foreach должен иметь в пару тэг - /foreach. Обязательные параметры - - from и item. Название - цикла foreach может быть любой последовательностью букв, цифр - и знаков подчеркиваний _. Циклы foreach - могут быть вложенные, и имена вложенных циклов должны быть - уникальные. Переменная from (обычно - массив значений) указывает количество итераций цикла. - foreachelse выполняется, если нету значений - в переменной from. - - -foreach - + + foreach,foreachelse + + + + + + + + + + Имя аттрибута + Тип + Обязателен + По умолчанию + Описание + + + + + from + строка (string) + Да + n/a + Имя массива, по которому надо пройтись + + + item + строка (string) + Да + n/a + Имя переменной, которая будет выступать в + качестве значения текущего елемента + + + key + строка (string) + Нет + n/a + Имя переменной, которая будет выступать в + качестве ключа текущего елемента + + + name + строка (string) + Нет + n/a + Название цикла foreach для доступа к его + свойствам + + + + + + + Циклы foreach являются альтернативой + циклам section. Циклы + foreach используются для прохождения + по одному массиву. Синтаксис foreach + намного проще, чем section, но его + можно использовать только для одного массива. + Тэг foreach должен иметь в пару тэг + /foreach. Обязательные параметры - + from и item. Название + цикла foreach может быть любой последовательностью букв, цифр + и знаков подчеркиваний _. Циклы foreach + могут быть вложенные, и имена вложенных циклов должны быть + уникальные. Переменная from (обычно + массив значений) указывает количество итераций цикла. + foreachelse выполняется, если нету значений + в переменной from. + + + + foreach + + {/foreach} OUTPUT: -id: 1000<br> -id: 1001<br> -id: 1002<br> - +id: 1000
+id: 1001
+id: 1002
+]]> +
+
- -foreach key - + + foreach key + +assign("contacts", array(array("phone" => "1", "fax" => "2", "cell" => "3"), - array("phone" => "555-4444", "fax" => "555-3333", "cell" => "760-1234"))); +$smarty->assign("contacts", array(array("phone" => "1", "fax" => "2", "cell" => "3"), + array("phone" => "555-4444", "fax" => "555-3333", "cell" => "760-1234"))); *} {foreach name=outer item=contact from=$contacts} {foreach key=key item=item from=$contact} - {$key}: {$item}<br> + {$key}: {$item}
{/foreach} {/foreach} OUTPUT: -phone: 1<br> -fax: 2<br> -cell: 3<br> -phone: 555-4444<br> -fax: 555-3333<br> -cell: 760-1234<br>
-
+phone: 1
+fax: 2
+cell: 3
+phone: 555-4444
+fax: 555-3333
+cell: 760-1234
+]]> +
+
- + Циклы foreach имеют свои свойства, доступ к которым реализуется через {$smarty.foreach.foreachname.varname}, где foreachname это название цикла (значение аттрибута name), а varname - имя свойства. + + + + iteration + + Количество отработанных итераций. - - - - iteration - - Количество отработанных итераций. - - + Отсчет начинается с 1 и увеличивается на единицу на каждой итерации. - - + + - - first + + first - first устанавливается в true, если текущая итерация первая. + first устанавливается в true, если текущая итерация первая. - + - - last - - last устанавливается в true, если текущая итерация последняя. - - + + last + + last устанавливается в true, если текущая итерация последняя. + + - - show - - Аттрибут show может принимать логические - значения (истина или ложь). Если ложь, то цикл foreach не будет - отображаться. Если присутствует тэг foreachelse, то он будет - отображен. - - - - - total - - total хранит количество итераций цикла. + + show + + Аттрибут show может принимать логические + значения (истина или ложь). Если ложь, то цикл foreach не будет + отображаться. Если присутствует тэг foreachelse, то он будет + отображен. + + + + + total + + total хранит количество итераций цикла. Может быть использовано как в цикле, так и вне его.. - - - + +
\ No newline at end of file +--> + diff --git a/docs/ru/designers/language-builtin-functions/language-function-if.xml b/docs/ru/designers/language-builtin-functions/language-function-if.xml index fd32be4c..530bdd5c 100644 --- a/docs/ru/designers/language-builtin-functions/language-function-if.xml +++ b/docs/ru/designers/language-builtin-functions/language-function-if.xml @@ -1,24 +1,24 @@ - + - - if,elseif,else - - Конструкция if в Smarty такая же гибкая, как и аналогичная - конструкциия в php, только с несколько расширенными - возможностями. - with a few added features for the template engine. - Каждый тэг if должен иметь пару - /if. else и - elseif так же допустимы. "eq", "ne", - "neq", "gt", "lt", "lte", "le", "gte" "ge", "is even", - "is odd", "is not even", "is not odd", "not", "mod", - "div by", "even by", "odd by", "==", "!=", ">", "<", "<=", - ">=" -- допустимые квалификаторы условий. Они должны быть - отделены от окружающих елементов пробелами. - - -кострукция if - + + if,elseif,else + + Конструкция if в Smarty такая же гибкая, как и аналогичная + конструкциия в php, только с несколько расширенными + возможностями. + with a few added features for the template engine. + Каждый тэг if должен иметь пару + /if. else и + elseif так же допустимы. "eq", "ne", + "neq", "gt", "lt", "lte", "le", "gte" "ge", "is even", + "is odd", "is not even", "is not odd", "not", "mod", + "div by", "even by", "odd by", "==", "!=", ">", "<", "<=", + ">=" -- допустимые квалификаторы условий. Они должны быть + отделены от окружающих елементов пробелами. + + + кострукция if + - - + + \ No newline at end of file +--> + diff --git a/docs/ru/designers/language-builtin-functions/language-function-include-php.xml b/docs/ru/designers/language-builtin-functions/language-function-include-php.xml index c19f8131..42f7c7fe 100644 --- a/docs/ru/designers/language-builtin-functions/language-function-include-php.xml +++ b/docs/ru/designers/language-builtin-functions/language-function-include-php.xml @@ -1,88 +1,89 @@ - + - - include_php - - - - - - - - - - Имя аттрибута - Тип - Обязателен - По умолчанию - Описание - - - - - file - строка (string) - Да - n/a - Имя подключаемого php файла - - - once - логический (boolean) - Нет - true - Укзаывает подключать файл или нет, - если он уже был однажды подключен - - - assign - строка (string) - Нет - n/a - Название переменной, которой будет - присвоен вывод include_php - - - - - - Тэг include_php используется для подключения php скрипта в шаблон. - Если security включен, то php скрипт должен быть расположен в папке - $trusted_dir. Тэг include_php должен иметь атрибут "file", который - указывает путь подключаемого php файла (относительный к - $trusted_dir или абсолютный путь). - - - include_php это хороший путь для управления компонентными шаблонами, - держать PHP код вне файлов шаблонов. Допустим у вас есть шаблон, - который выводит навигацию сайта, информация о которой динамически - загружается из базы данных. Вы можете хранить php файл, который - получает данные из базы данных, в отдельной папке, и подключать его - в начале шаблона. Теперь можно подключать этот файл шаблона в любом - месте, не волнуясь о происхождении информации (база данных или нет). - - - По умолчанию, php файлы подключаются только один раз, даже если - вызываются несколько раз в шаблоне. Можно указать, что файл должен - быть подключен каждый раз, указав атрибут once. - Установив once в ложь (false) указывает, что файл должен быть - подключен вне зависимости от того, был ли он подключен раньше. - - - Можно указать опциональный атрибут assign, - который указывает имя переменной, которой будет присвоен вывод - include_php вместо отображения. - - - Объект smarty доступен в подключаемом php файле как $this. - - -функция include_php - + + include_php + + + + + + + + + + Имя аттрибута + Тип + Обязателен + По умолчанию + Описание + + + + + file + строка (string) + Да + n/a + Имя подключаемого php файла + + + once + логический (boolean) + Нет + true + Укзаывает подключать файл или нет, + если он уже был однажды подключен + + + assign + строка (string) + Нет + n/a + Название переменной, которой будет + присвоен вывод include_php + + + + + + Тэг include_php используется для подключения php скрипта в шаблон. + Если security включен, то php скрипт должен быть расположен в папке + $trusted_dir. Тэг include_php должен иметь атрибут "file", который + указывает путь подключаемого php файла (относительный к + $trusted_dir или абсолютный путь). + + + include_php это хороший путь для управления компонентными шаблонами, + держать PHP код вне файлов шаблонов. Допустим у вас есть шаблон, + который выводит навигацию сайта, информация о которой динамически + загружается из базы данных. Вы можете хранить php файл, который + получает данные из базы данных, в отдельной папке, и подключать его + в начале шаблона. Теперь можно подключать этот файл шаблона в любом + месте, не волнуясь о происхождении информации (база данных или нет). + + + По умолчанию, php файлы подключаются только один раз, даже если + вызываются несколько раз в шаблоне. Можно указать, что файл должен + быть подключен каждый раз, указав атрибут once. + Установив once в ложь (false) указывает, что файл должен быть + подключен вне зависимости от того, был ли он подключен раньше. + + + Можно указать опциональный атрибут assign, + который указывает имя переменной, которой будет присвоен вывод + include_php вместо отображения. + + + Объект smarty доступен в подключаемом php файле как $this. + + + функция include_php + +query("select * from site_nav_sections order by name",SQL_ALL); $this->assign('sections',$sql->record); -?> +?> index.tpl @@ -100,9 +101,11 @@ index.tpl {include_php file="/path/to/load_nav.php"} {foreach item="curr_section" from=$sections} - <a href="{$curr_section.url}">{$curr_section.name}</a><br> -{/foreach} - + {$curr_section.name}
+{/foreach} +]]> +
+
\ No newline at end of file +--> + diff --git a/docs/ru/designers/language-builtin-functions/language-function-include.xml b/docs/ru/designers/language-builtin-functions/language-function-include.xml index 46fbc259..770d2093 100644 --- a/docs/ru/designers/language-builtin-functions/language-function-include.xml +++ b/docs/ru/designers/language-builtin-functions/language-function-include.xml @@ -1,105 +1,114 @@ - + - - include - - - - - - - - - - Имя аттрибута - Тип - Обязателен - По умолчанию - Описание - - - - - file - строка (string) - Да - n/a - Имя файла шаблона для включения - - - assign - строка (string) - Нет - n/a - Имя переменной, которой присвоится вывод - шаблона - - - [var ...] - [var type] - Нет - n/a - Переменные, переданные в локальную область - включаемого шаблона - - - - - - Тэги include используются для включения других шаблонов в текущий. - Любые переменные, доступные в текущем шаблоне, доступны и во - включаемом. Тэг include должен иметь аттрибут "file", который - указывает имя ресурса шаблона. - - - Опциональный аттрибут assign указывает, что - вывод шаблона будет присвоен переменной вместо отображения. - - -функция include - + + include + + + + + + + + + + Имя аттрибута + Тип + Обязателен + По умолчанию + Описание + + + + + file + строка (string) + Да + n/a + Имя файла шаблона для включения + + + assign + строка (string) + Нет + n/a + Имя переменной, которой присвоится вывод + шаблона + + + [var ...] + [var type] + Нет + n/a + Переменные, переданные в локальную область + включаемого шаблона + + + + + + Тэги include используются для включения других шаблонов в текущий. + Любые переменные, доступные в текущем шаблоне, доступны и во + включаемом. Тэг include должен иметь аттрибут "file", который + указывает имя ресурса шаблона. + + + Опциональный аттрибут assign указывает, что + вывод шаблона будет присвоен переменной вместо отображения. + + + функция include + + - - - Вы также можете передать переменные в подключаемый шаблон в - виде атрибутов. Любая переменная, переданная в подключаемый - шаблон, доступны только в области видимости подключаемого - файла. Переданные переменные имеют преимущество перед - существующими переменными с аналогичными именами. - - -функция include: передача переменных - +{include file="footer.tpl"} +]]> + + + + Вы также можете передать переменные в подключаемый шаблон в + виде атрибутов. Любая переменная, переданная в подключаемый + шаблон, доступны только в области видимости подключаемого + файла. Переданные переменные имеют преимущество перед + существующими переменными с аналогичными именами. + + + функция include: передача переменных + + - - - Для подключения файлов вне папки $template_dir можно - указывать файл с помощью ресурсов. - - -функция include: пример использвоания ресурсов - +{include file="footer.tpl" logo="http://my.domain.com/logo.gif"} +]]> + + + + Для подключения файлов вне папки $template_dir можно + указывать файл с помощью ресурсов. + + + функция include: пример использвоания ресурсов + + - +{include file="db:header.tpl"} +]]> + + \ No newline at end of file +--> + diff --git a/docs/ru/designers/language-builtin-functions/language-function-insert.xml b/docs/ru/designers/language-builtin-functions/language-function-insert.xml index 3a30e183..cffbf6db 100644 --- a/docs/ru/designers/language-builtin-functions/language-function-insert.xml +++ b/docs/ru/designers/language-builtin-functions/language-function-insert.xml @@ -1,125 +1,128 @@ - + - - insert - - - - - - - - - - Имя аттрибута - Тип - Обязателен - По умолчанию - Описание - - - - - name - строка (string) - Да - n/a - Имя функции вставки (insert_name) - - - assign - строка (string) - Нет - n/a - Имя переменной, которой будет - присвоен вывод - - - script - строка (string) - Нет - n/a - Bмя php файла, который будет подключен - перед вызовом функции вставки - - - [var ...] - [var type] - Нет - n/a - Переменные, передаваемые в - функцию вставки - - - - - - Тэг insert очень похож на тэг include, кроме случая, когда - кэширование включено. Insert - тэг не кешируется. Он будет выполнен каждый раз, при обращении - к шаблону. - - - Допустим вы имеете шаблон с баннером вверху страницы. - Баннер может содержать любую смесь HTML, исзображенй, - flash и т.д., то есть нельзя использовать просто - статическую ссылку, и мы не хотим, чтобы код баннера - кэшировался с остальной страницей. Тогда используем - тэг insert: шаблон знает значения #banner_location_id# и - #site_id# (взяты из файла конфигурации) и должен вызвать - функцию, чтобы получить код баннера. - - -функция insert - + + insert + + + + + + + + + + Имя аттрибута + Тип + Обязателен + По умолчанию + Описание + + + + + name + строка (string) + Да + n/a + Имя функции вставки (insert_name) + + + assign + строка (string) + Нет + n/a + Имя переменной, которой будет + присвоен вывод + + + script + строка (string) + Нет + n/a + Bмя php файла, который будет подключен + перед вызовом функции вставки + + + [var ...] + [var type] + Нет + n/a + Переменные, передаваемые в + функцию вставки + + + + + + Тэг insert очень похож на тэг include, кроме случая, когда + кэширование включено. Insert + тэг не кешируется. Он будет выполнен каждый раз, при обращении + к шаблону. + + + Допустим вы имеете шаблон с баннером вверху страницы. + Баннер может содержать любую смесь HTML, исзображенй, + flash и т.д., то есть нельзя использовать просто + статическую ссылку, и мы не хотим, чтобы код баннера + кэшировался с остальной страницей. Тогда используем + тэг insert: шаблон знает значения #banner_location_id# и + #site_id# (взяты из файла конфигурации) и должен вызвать + функцию, чтобы получить код баннера. + + + функция insert + + - - - В этом примере мы используем имя "getBanner" и передаем параметры - #banner_location_id# и #site_id#. Smarty попробует вызывать - функцию insert_getBanner() в вашей PHP программе, передав - значения #banner_location_id# и #site_id# первым параметром в виде - ассоциативного массива. Все имена функций вставки должны начинаться - с "insert_" для предотвращения возможных конфликтов имен. Функция - insert_getBanner() должна обработать переданные переменные и - вернуть результат. Он будет отображен в шаблоне вместо тэга insert. - В данном случае Smarty вызовет функцию insert_getBanner(array("lid" - => "12345","sid" => "67890")); и выведет результат на месте тэга - insert. - - - Если указан аттрибут "assign", то вывод функции вставки будет - присвоен указанной переменной вместо отображения. ЗАМЕЧАНИЕ: - присвоение вывода тэга insert переменной шаблона не очень - полезно, когда кеширование включено. - - - Если указан аттрибут "script", то указанный php файл будет - подключен (только однажды) перед вызовом функции вставки. - Это удобно, когда функция может не сущетсвовать, и должен быть - подключен php файл, чтобы определить функцию. Путь к файлу - должен быть либо абслотныю, либо относительным относительно - $trusted_dir. Когда security активирована, то php файл должен - быть в папке $trusted_dir. - - - Обьект Smarty передается в функцию как второй параметр. - Так вы можете использовать и модифицировать информацию - из объекта Smarty в функциях вставки. - - - Техническое Замечание - - Возможно иметь части шаблона не кешированными. - Если активировано кэширование, - то тэг insert все равно не будет кэширован. Он будет вызван - каждый раз при генерации страницы, даже из кешированных - страниц. Это полезно для таких вещей, как баннеры, опросы, - прогнозы погоды, результаты поиска, области обратной связи - и т.д. - - +{insert name="getBanner" lid=#banner_location_id# sid=#site_id#} +]]> + + + + В этом примере мы используем имя "getBanner" и передаем параметры + #banner_location_id# и #site_id#. Smarty попробует вызывать + функцию insert_getBanner() в вашей PHP программе, передав + значения #banner_location_id# и #site_id# первым параметром в виде + ассоциативного массива. Все имена функций вставки должны начинаться + с "insert_" для предотвращения возможных конфликтов имен. Функция + insert_getBanner() должна обработать переданные переменные и + вернуть результат. Он будет отображен в шаблоне вместо тэга insert. + В данном случае Smarty вызовет функцию insert_getBanner(array("lid" + => "12345","sid" => "67890")); и выведет результат на месте тэга + insert. + + + Если указан аттрибут "assign", то вывод функции вставки будет + присвоен указанной переменной вместо отображения. ЗАМЕЧАНИЕ: + присвоение вывода тэга insert переменной шаблона не очень + полезно, когда кеширование включено. + + + Если указан аттрибут "script", то указанный php файл будет + подключен (только однажды) перед вызовом функции вставки. + Это удобно, когда функция может не сущетсвовать, и должен быть + подключен php файл, чтобы определить функцию. Путь к файлу + должен быть либо абслотныю, либо относительным относительно + $trusted_dir. Когда security активирована, то php файл должен + быть в папке $trusted_dir. + + + Обьект Smarty передается в функцию как второй параметр. + Так вы можете использовать и модифицировать информацию + из объекта Smarty в функциях вставки. + + + Техническое Замечание + + Некоторые части шаблона можно не кэшировать. + Если активировано кэширование, + то тэг insert все равно не будет кэширован. Он будет вызван + каждый раз при генерации страницы, даже из кешированных + страниц. Это полезно для таких вещей, как баннеры, опросы, + прогнозы погоды, результаты поиска, области обратной связи + и т.д. + + \ No newline at end of file +--> + diff --git a/docs/ru/designers/language-builtin-functions/language-function-ldelim.xml b/docs/ru/designers/language-builtin-functions/language-function-ldelim.xml index 4e570ca1..9c207da6 100644 --- a/docs/ru/designers/language-builtin-functions/language-function-ldelim.xml +++ b/docs/ru/designers/language-builtin-functions/language-function-ldelim.xml @@ -1,16 +1,17 @@ - + - - ldelim,rdelim - - ldelim и rdelim используются для отображения разделителей. - В нашем случае это "{" и "}". Smarty всегда пытаеться - интерпретировать разделители, то есть это это единственный - способ вывнсти их. - - -ldelim, rdelim - + + ldelim,rdelim + + ldelim и rdelim используются для отображения разделителей. + В нашем случае это "{" и "}". Smarty всегда пытаеться + интерпретировать разделители, то есть это это единственный + способ вывнсти их. + + + ldelim, rdelim + + - +{funcname} is how functions look in Smarty! +]]> + + \ No newline at end of file +--> + diff --git a/docs/ru/designers/language-builtin-functions/language-function-literal.xml b/docs/ru/designers/language-builtin-functions/language-function-literal.xml index ed484f5d..a2d0babe 100644 --- a/docs/ru/designers/language-builtin-functions/language-function-literal.xml +++ b/docs/ru/designers/language-builtin-functions/language-function-literal.xml @@ -1,21 +1,22 @@ - + - - literal - - Тэг Literal позволяет указать блок данных, который не должен - быть обработан Smarty. Это удобно для вывода javascript кода, - когда символы { и } могут быть не правильно поняты парсером - шаблонов. Все, что окружено тэгами {literal} и {/literal} - не обрабатывается и просто отображается как есть. - - -тэг literal - + + literal + + Тэг Literal позволяет указать блок данных, который не должен + быть обработан Smarty. Это удобно для вывода javascript кода, + когда символы { и } могут быть не правильно поняты парсером + шаблонов. Все, что окружено тэгами {literal} и {/literal} + не обрабатывается и просто отображается как есть. + + + тэг literal + + - <!-- + - </script> -{/literal} - + +{/literal} +]]> + + \ No newline at end of file +--> + diff --git a/docs/ru/designers/language-builtin-functions/language-function-php.xml b/docs/ru/designers/language-builtin-functions/language-function-php.xml index 7f57faf5..c0dd8b72 100644 --- a/docs/ru/designers/language-builtin-functions/language-function-php.xml +++ b/docs/ru/designers/language-builtin-functions/language-function-php.xml @@ -1,23 +1,26 @@ - + - - php - - Тэг php позволяет вставлять php код прямо в шаблон. Он не - будет как-либо изменен, независимо от $php_handling настроек. - Этот тэг тко для продвинутых пользователей, так как обычно - не требуется. - - -тэг php - + + php + + Тэг php позволяет вставлять php код прямо в шаблон. Он не + будет как-либо изменен, независимо от $php_handling настроек. + Этот тэг тко для продвинутых пользователей, так как обычно + не требуется. + + + тэг php + + - +{/php} +]]> + + \ No newline at end of file +--> + diff --git a/docs/ru/designers/language-builtin-functions/language-function-section.xml b/docs/ru/designers/language-builtin-functions/language-function-section.xml index 0e9ba70f..0811839d 100644 --- a/docs/ru/designers/language-builtin-functions/language-function-section.xml +++ b/docs/ru/designers/language-builtin-functions/language-function-section.xml @@ -1,355 +1,385 @@ - + - - section,sectionelse - - - - - - - - - - Имя аттрибута - Тип - Обязателен - По умолчанию - Описание - - - - - name - строка (string) - Да - n/a - Название секции - - - loop - [$variable_name] - Да - n/a - Имя переменной цикла, для определения - количества итераций цикла. - - - start - целое (integer) - Нет - 0 - Индекс позиции, с которой будет начинаться - цикл. Если значение отрицательное, то начальная позиция - вычисляется от конца массива. Например, если в переменной - цикла 7 элементов и значение атрибута start равно -2, то - начальный индекс будет 5. Неверные значения (значения, вне - массива) автоматически обрезаются до ближайшего верного - значения. - - - step - целое (integer) - Нет - 1 - Значение шага, которое используется для прохода по - массиву. Например, step=2 указывает обход массива - по элементам 0,2,4... Если шаг отрицателен, то обход - массива будет производится в обратном направлении. - - - max - целое (integer) - Нет - 1 - Максимальное количество итераций цикла. - - - show - логический (boolean) - Нет - true - Указывает, показывать или нет эту секцию - - - - - - Секции используются для обхода массива данных. Все тэги - section должны иметь в пару тэг - /section. Обязательные параметры: - name и loop. Имя - секции может быть какой угодно последовательностью букв, - цифр и знаков подчеркиваний. Секции могут быть вложенными. - Имена вложенных секций должны отличаться друг от друга. - Переменная цикла (обычно массив) определяет количество итериций - цикла. Когда отображаем переменную цикла, имя секции должно - быть указана после имени переменной в квадратных скобках []. - Тэг sectionelse выполняется, когда - переменная цикла пуста. - - -section - - + + section,sectionelse + + + + + + + + + + Имя аттрибута + Тип + Обязателен + По умолчанию + Описание + + + + + name + строка (string) + Да + n/a + Название секции + + + loop + [$variable_name] + Да + n/a + Имя переменной цикла, для определения + количества итераций цикла. + + + start + целое (integer) + Нет + 0 + + Индекс позиции, с которой будет начинаться + цикл. Если значение отрицательное, то начальная позиция + вычисляется от конца массива. Например, если в переменной + цикла 7 элементов и значение атрибута start равно -2, то + начальный индекс будет 5. Неверные значения (значения, вне + массива) автоматически обрезаются до ближайшего верного + значения. + + + + step + целое (integer) + Нет + 1 + + Значение шага, которое используется для прохода по + массиву. Например, step=2 указывает обход массива + по элементам 0,2,4... Если шаг отрицателен, то обход + массива будет производится в обратном направлении. + + + + max + целое (integer) + Нет + 1 + Максимальное количество итераций цикла. + + + show + логический (boolean) + Нет + true + Указывает, показывать или нет эту секцию + + + + + + Секции используются для обхода массива данных. Все тэги + section должны иметь в пару тэг + /section. Обязательные параметры: + name и loop. Имя + секции может быть какой угодно последовательностью букв, + цифр и знаков подчеркиваний. Секции могут быть вложенными. + Имена вложенных секций должны отличаться друг от друга. + Переменная цикла (обычно массив) определяет количество итериций + цикла. Когда отображаем переменную цикла, имя секции должно + быть указана после имени переменной в квадратных скобках []. + Тэг sectionelse выполняется, когда + переменная цикла пуста. + + + section + + {/section} OUTPUT: -id: 1000<br> -id: 1001<br> -id: 1002<br> - +id: 1000
+id: 1001
+id: 1002
+]]> +
+
- -section loop variable - + + section loop variable + + + name: {$name[customer]}
+ address: {$address[customer]}
+

{/section} OUTPUT: -id: 1000<br> -name: John Smith<br> -address: 253 N 45th<br> -<p> -id: 1001<br> -name: Jack Jones<br> -address: 417 Mulberry ln<br> -<p> -id: 1002<br> -name: Jane Munson<br> -address: 5605 apple st<br> -<p> - +id: 1000
+name: John Smith
+address: 253 N 45th
+

+id: 1001
+name: Jack Jones
+address: 417 Mulberry ln
+

+id: 1002
+name: Jane Munson
+address: 5605 apple st
+

+]]> + + - -имена секций - + + имена секций + + - + id: {$custid[mydata]}
+ name: {$name[mydata]}
+ address: {$address[mydata]}
+

+{/section} +]]> + + - -вложенные секции - + + вложенные секции + + + name: {$name[customer]}
+ address: {$address[customer]}
{section name=contact loop=$contact_type[customer]} - {$contact_type[customer][contact]}: {$contact_info[customer][contact]}<br> + {$contact_type[customer][contact]}: {$contact_info[customer][contact]}
{/section} - <p> +

{/section} OUTPUT: -id: 1000<br> -name: John Smith<br> -address: 253 N 45th<br> -home phone: 555-555-5555<br> -cell phone: 555-555-5555<br> -e-mail: john@mydomain.com<br> -<p> -id: 1001<br> -name: Jack Jones<br> -address: 417 Mulberry ln<br> -home phone: 555-555-5555<br> -cell phone: 555-555-5555<br> -e-mail: jack@mydomain.com<br> -<p> -id: 1002<br> -name: Jane Munson<br> -address: 5605 apple st<br> -home phone: 555-555-5555<br> -cell phone: 555-555-5555<br> -e-mail: jane@mydomain.com<br> -<p> - +id: 1000
+name: John Smith
+address: 253 N 45th
+home phone: 555-555-5555
+cell phone: 555-555-5555
+e-mail: john@mydomain.com
+

+id: 1001
+name: Jack Jones
+address: 417 Mulberry ln
+home phone: 555-555-5555
+cell phone: 555-555-5555
+e-mail: jack@mydomain.com
+

+id: 1002
+name: Jane Munson
+address: 5605 apple st
+home phone: 555-555-5555
+cell phone: 555-555-5555
+e-mail: jane@mydomain.com
+

+]]> + + - -секции и ассоциативные массивы - + + секции и ассоциативные массивы + + + home: {$contacts[customer].home}
+ cell: {$contacts[customer].cell}
+ e-mail: {$contacts[customer].email}

{/section} OUTPUT: -name: John Smith<br> -home: 555-555-5555<br> -cell: 555-555-5555<br> -e-mail: john@mydomain.com<p> -name: Jack Jones<br> -home phone: 555-555-5555<br> -cell phone: 555-555-5555<br> -e-mail: jack@mydomain.com<p> -name: Jane Munson<br> -home phone: 555-555-5555<br> -cell phone: 555-555-5555<br> -e-mail: jane@mydomain.com<p> - +name: John Smith
+home: 555-555-5555
+cell: 555-555-5555
+e-mail: john@mydomain.com

+name: Jack Jones
+home phone: 555-555-5555
+cell phone: 555-555-5555
+e-mail: jack@mydomain.com

+name: Jane Munson
+home phone: 555-555-5555
+cell phone: 555-555-5555
+e-mail: jane@mydomain.com

+]]> + + - - - -sectionelse - + + sectionelse + + {sectionelse} there are no values in $custid. -{/section} - - +{/section} +]]> + + + Секции также имеют свои собственные аттрибуты, которые определяют определенные настройки секции. Они указываются примерно так: {$smarty.section.sectionname.varname} - - + + ЗАМЕЧАНИЕ: Начиная со Smarty версии 1.5.0, синтаксис аттрибутов секций изменился с {%sectionname.varname%} на {$smarty.section.sectionname.varname}. Старый синтаксис пока поддерживается, но вы встретите только новый стиль в - прмиерах данного руководства. - - - index - - index хранит текущий индекс цикла, начиная с 0 (или значения аттрибута + примерах данного руководства. + + + + index + + index хранит текущий индекс цикла, начиная с 0 (или значения аттрибута start), и увеличивается на единицу (или на значение аттрибута step). - - - Техническое Замечание - - Если аттрибуты step и start не указаны, то index + + + Техническое Замечание + + Если аттрибуты step и start не указаны, то index аналогичен аттрибуту секции iteration, кроме того, что начинается с 0, а не с 1. - - - - аттрибут секции index - + + + + аттрибут секции index + + {/section} OUTPUT: - 0 id: 1000<br> - 1 id: 1001<br> - 2 id: 1002<br> - - - - - index_prev - + 0 id: 1000
+ 1 id: 1001
+ 2 id: 1002
+]]> + + +
+ + + index_prev + index_prev хранит предыдущий индекс цикла. - На первой итерации устанавливается в -1. - - - аттрибут секции index_prev - + На первой итерации устанавливается в -1. + + + аттрибут секции index_prev + + {* FYI, $custid[customer.index] and $custid[customer] are identical in meaning *} {if $custid[customer.index_prev] ne $custid[customer.index]} - The customer id changed<br> + The customer id changed
{/if} {/section} OUTPUT: - 0 id: 1000<br> - The customer id changed<br> - 1 id: 1001<br> - The customer id changed<br> - 2 id: 1002<br> - The customer id changed<br> -
-
-
- - index_next - - index_next хранит следующий индекс цикла. На последней итерации цикла - будет иметь значение на единицу больше текущего индекса (или на другое - значение, если указан аттрибут step). - - - аттрибут секции index_next - + 0 id: 1000
+ The customer id changed
+ 1 id: 1001
+ The customer id changed
+ 2 id: 1002
+ The customer id changed
+]]> +
+
+
+ + + index_next + + index_next хранит следующий индекс цикла. На последней итерации цикла + будет иметь значение на единицу больше текущего индекса (или на другое + значение, если указан аттрибут step). + + + аттрибут секции index_next + + {* FYI, $custid[customer.index] and $custid[customer] are identical in meaning *} {if $custid[customer.index_next] ne $custid[customer.index]} - The customer id will change<br> + The customer id will change
{/if} {/section} OUTPUT: - 0 id: 1000<br> - The customer id will change<br> - 1 id: 1001<br> - The customer id will change<br> - 2 id: 1002<br> - The customer id will change<br> -
-
-
- - iteration - - iteration хранит текущую итерацию цикла. - - - ЗАМЕЧАНИЕ: Значение не зависит от аттрибутов start, step и max, в отличии + 0 id: 1000
+ The customer id will change
+ 1 id: 1001
+ The customer id will change
+ 2 id: 1002
+ The customer id will change
+]]> + + +
+ + + iteration + + iteration хранит текущую итерацию цикла. + + + ЗАМЕЧАНИЕ: Значение не зависит от аттрибутов start, step и max, в отличии аттрибута index. Итерации также начинаются с 1, а не с 0, как index. rownum является синонимом для iteration. - - - аттрибут секции iteration - + + + аттрибут секции iteration + + + {$smarty.section.customer.index} id: {$custid[customer]}
{* FYI, $custid[customer.index] and $custid[customer] are identical in meaning *} {if $custid[customer.index_next] ne $custid[customer.index]} - The customer id will change<br> + The customer id will change
{/if} {/section} @@ -357,144 +387,159 @@ e-mail: jane@mydomain.com<p>
OUTPUT: current loop iteration: 1 - 5 id: 1000<br> - The customer id will change<br> + 5 id: 1000
+ The customer id will change
current loop iteration: 2 - 7 id: 1001<br> - The customer id will change<br> + 7 id: 1001
+ The customer id will change
current loop iteration: 3 - 9 id: 1002<br> - The customer id will change<br> -
-
-
- - first - - first имеет значение истина, если текущая итерация цикла - первая. - - - аттрибут секции first - + 9 id: 1002
+ The customer id will change
+]]> +
+
+
+ + + first + + first имеет значение истина, если текущая итерация цикла - первая. + + + аттрибут секции first + + {/if} - <tr><td>{$smarty.section.customer.index} id: - {$custid[customer]}</td></tr> + {$smarty.section.customer.index} id: + {$custid[customer]} {if $smarty.section.customer.last} - </table> + {/if} {/section} OUTPUT: - <table> - <tr><td>0 id: 1000</td></tr> - <tr><td>1 id: 1001</td></tr> - <tr><td>2 id: 1002</td></tr> - </table> - - - - - last - - last имеет значение истина, если текущая итерация цикла - последняя. - one. - - - аттрибут секции last - + + + + +
0 id: 1000
1 id: 1001
2 id: 1002
+]]> +
+
+
+ + + last + + last имеет значение истина, если текущая итерация цикла - последняя. + one. + + + аттрибут секции last + + {/if} - <tr><td>{$smarty.section.customer.index} id: - {$custid[customer]}</td></tr> + {$smarty.section.customer.index} id: + {$custid[customer]} {if $smarty.section.customer.last} - </table> + {/if} {/section} OUTPUT: - <table> - <tr><td>0 id: 1000</td></tr> - <tr><td>1 id: 1001</td></tr> - <tr><td>2 id: 1002</td></tr> - </table> - - - - - rownum - - rownum хранит текущую итерацию цикла, начиная с 1. + + + + +
0 id: 1000
1 id: 1001
2 id: 1002
+ ]]> + + +
+ + + rownum + + rownum хранит текущую итерацию цикла, начиная с 1. rownum - синоним для iteration. - - - аттрибут секции rownum - + + + аттрибут секции rownum + + {/section} OUTPUT: - 1 id: 1000<br> - 2 id: 1001<br> - 3 id: 1002<br> - - - - - loop - + 1 id: 1000
+ 2 id: 1001
+ 3 id: 1002
+]]> + + +
+ + + loop + loop хранит последний отработанный индекс цикла. Может быть использован как внутри секции, так и после нее. - - - аттрбут секции index - + + + аттрбут секции index + + {/section} There were {$smarty.section.customer.loop} customers shown above. OUTPUT: - 0 id: 1000<br> - 1 id: 1001<br> - 2 id: 1002<br> + 0 id: 1000
+ 1 id: 1001
+ 2 id: 1002
- There were 3 customers shown above. -
-
-
- - show - - Аттрибут show может принимать логические - значения (истина или ложь). Если ложь, то цикл foreach не будет - отображаться. Если присутствует тэг foreachelse, то он будет - отображен. - - - аттрибут секции show - + There were 3 customers shown above. +]]> + + + + + + show + + Аттрибут show может принимать логические + значения (истина или ложь). Если ложь, то цикл foreach не будет + отображаться. Если присутствует тэг foreachelse, то он будет + отображен. + + + аттрибут секции show + + {/section} {if $smarty.section.customer.show} @@ -506,39 +551,44 @@ e-mail: jane@mydomain.com<p> OUTPUT: - 1 id: 1000<br> - 2 id: 1001<br> - 3 id: 1002<br> + 1 id: 1000
+ 2 id: 1001
+ 3 id: 1002
- the section was shown. - -
-
- - total - + the section was shown. +]]> + + + + + + total + total хранит количество всех итераций цикла. Может быть использвован как в секции, так и после нее. - - - аттрибут секции total - + + + аттрибут секции total + + {/section} There were {$smarty.section.customer.total} customers shown above. OUTPUT: - 0 id: 1000<br> - 2 id: 1001<br> - 4 id: 1002<br> + 0 id: 1000
+ 2 id: 1001
+ 4 id: 1002
+ + There were 3 customers shown above. + ]]> +
+
+
- There were 3 customers shown above. - - -
\ No newline at end of file +--> + diff --git a/docs/ru/designers/language-builtin-functions/language-function-strip.xml b/docs/ru/designers/language-builtin-functions/language-function-strip.xml index 40d23b58..01ef1756 100644 --- a/docs/ru/designers/language-builtin-functions/language-function-strip.xml +++ b/docs/ru/designers/language-builtin-functions/language-function-strip.xml @@ -1,54 +1,56 @@ - + - - strip - - Часто вебдизайнеры сталкиваются с проблемой, что пробелы и переносы - строк влияют на отображение HTML в броузере ("фишки" броузера), то - есть может понадобится склеить все теги в шаблоне вместе, чтобы получить - желаемый результат. Но в результате получается нечитаемый или - трудноредактируемый шаблон. - - - В выводимом тексте, заключенном между тэгами {strip} и {/strip}, - удаляются повторные пробелы и переносы строк, перед отображением. - Так вы можете сохранив шаблон читаемым не волноваться насчет - лишних пробелов. - - - Техническое Замечание - - {strip}{/strip} не влияет на содержимое переменных шаблона. - См. модификатор strip. - - - -тэг strip - + + strip + + Часто вебдизайнеры сталкиваются с проблемой, что пробелы и переносы + строк влияют на отображение HTML в броузере ("фишки" броузера), то + есть может понадобится склеить все теги в шаблоне вместе, чтобы получить + желаемый результат. Но в результате получается нечитаемый или + трудноредактируемый шаблон. + + + В выводимом тексте, заключенном между тэгами {strip} и {/strip}, + удаляются повторные пробелы и переносы строк, перед отображением. + Так вы можете сохранив шаблон читаемым не волноваться насчет + лишних пробелов. + + + Техническое Замечание + + {strip}{/strip} не влияет на содержимое переменных шаблона. + См. модификатор strip. + + + + тэг strip + + + + + + This is a test + + + + {/strip} OUTPUT: -<table border=0><tr><td><A HREF="http://my.domain.com"><font color="red">This is a test</font></A></td></tr></table> - - - Заметте, что в данном примере все строки начинаются и заканчиваются HTML - тэгами. Notice that in the above example, all the lines begin and end - with HTML tags. Учтите, что все строки склеиваются вместе. Если есть +
This is a test
+]]> +
+
+ + Заметьте, что в данном примере все строки начинаются и заканчиваются HTML + тэгами. Учтите, что все строки склеиваются вместе. Если есть обычный текст в начале строки, то может не получиться желаемый результат. - +
\ No newline at end of file +--> + diff --git a/docs/ru/designers/language-custom-functions/language-function-assign.xml b/docs/ru/designers/language-custom-functions/language-function-assign.xml index 09ac7fc3..41c441f5 100644 --- a/docs/ru/designers/language-custom-functions/language-function-assign.xml +++ b/docs/ru/designers/language-custom-functions/language-function-assign.xml @@ -1,4 +1,4 @@ - + assign @@ -72,4 +72,5 @@ End: vim600: syn=xml fen fdm=syntax fdl=2 si vim: et tw=78 syn=sgml vi: ts=1 sw=1 ---> \ No newline at end of file +--> +