diff --git a/docs/ru/appendixes/troubleshooting.xml b/docs/ru/appendixes/troubleshooting.xml index 0bf0185e..2ab9a19b 100644 --- a/docs/ru/appendixes/troubleshooting.xml +++ b/docs/ru/appendixes/troubleshooting.xml @@ -1,53 +1,60 @@ - - Troubleshooting - - Smarty/PHP errors - - Smarty can catch many errors such as missing tag attributes - or malformed variable names. If this happens, you will see an error - similar to the following: - - - Smarty errors - + + + Решение проблем + + + Ошибки Smarty/PHP + + Smarty может ловить многие ошибки, например отсутствующие аттрибуты + тэгов или недопустимые имена переменных. Если это произойдет, вы увидите + ошибку наподобие следующей: + + + Ошибка Smarty + + - - - Smarty shows you the template name, the line number and the error. - After that, the error consists of the actual line number in the Smarty - class that the error occured. - - - - There are certain errors that Smarty cannot catch, such as missing - close tags. These types of errors usually end up in PHP compile-time - parsing errors. - - - PHP parsing errors - + in /path/to/smarty/Smarty.class.php on line 1041 +]]> + + + + Smarty покажет вам имя шаблона, номер строки и ошибку. + Далее сообщение об ошибке состоит из фактического номера строки в классе + Smarty, где возникла ошибка. + + + + Есть определенные ошибки, которые не может поймать Smarty, например + отсутствующие закрывающие тэги. Такие ошибки обычно приводят к ошибкам + разбора PHP на этапе компиляции. + + + + Ошибки разбора PHP + + - - - - When you encounter a PHP parsing error, the error line number will - correspond to the compiled PHP script, not the template itself. Usually - you can look at the template and spot the syntax error. Here are some - common things to look for: missing close tags for {if}{/if} or - {section}{/section}, or syntax of logic within an {if} tag. If you - can't find the error, you might have to open the compiled PHP file and - go to the line number to figure out where the corresponding error is in - the template. - - +]]> + + + + + Когда вы встречаетесь с ошибкой разбора PHP, номер строки, в которой + допущена ошибка, будет соответствовать скомпилированному PHP-скрипту, + а не самому шаблону. Обычно вы можете посмотреть на шаблон и увидить + синтаксическую ошибку. Типичные ошибки: отсутствующие закрывающие тэги + для {if}{/if} или {section}{/section}, или синтаксис логики внутри тэга {if}. + Если вы не можете найти ошибку, вам может понадобиться открыть скомпилированный + PHP-файл и перейти к номеру строки чтобы выяснить, в чём заключается ошибка + в шаблоне. + + - + foreach,foreachelse @@ -15,7 +15,7 @@ Имя аттрибута Тип - Обязателен + Обязателен По умолчанию Описание @@ -23,17 +23,17 @@ from - строка (string) + массив (array) Да n/a - Имя массива, по которому надо пройтись + Массив, по которому надо пройтись item строка (string) Да n/a - Имя переменной, которая будет выступать в + Имя переменной, которая будет выступать в качестве значения текущего елемента @@ -41,7 +41,7 @@ строка (string) Нет n/a - Имя переменной, которая будет выступать в + Имя переменной, которая будет выступать в качестве ключа текущего елемента @@ -49,7 +49,7 @@ строка (string) Нет n/a - Название цикла foreach для доступа к его + Название цикла foreach для доступа к его свойствам @@ -58,17 +58,17 @@ Циклы foreach являются альтернативой - циклам section. Циклы - foreach используются для прохождения - по одному массиву. Синтаксис foreach - намного проще, чем section, но его + циклам section. Циклы + foreach используются для прохождения + по одному массиву. Синтаксис foreach + намного проще, чем section, но его можно использовать только для одного массива. - Тэг foreach должен иметь в пару тэг - /foreach. Обязательные параметры - + Тэг foreach должен иметь в пару тэг + /foreach. Обязательные параметры - from и item. Название - цикла foreach может быть любой последовательностью букв, цифр + цикла foreach может быть любой последовательностью букв, цифр и знаков подчеркиваний _. Циклы foreach - могут быть вложенные, и имена вложенных циклов должны быть + могут быть вложенные, и имена вложенных циклов должны быть уникальные. Переменная from (обычно массив значений) указывает количество итераций цикла. foreachelse выполняется, если нету значений @@ -154,20 +154,20 @@ cell: 760-1234
- + show - Аттрибут show может принимать логические + Аттрибут show может принимать логические значения (истина или ложь). Если ложь, то цикл foreach не будет отображаться. Если присутствует тэг foreachelse, то он будет отображен. - - + + total - total хранит количество итераций цикла. + total хранит количество итераций цикла. Может быть использовано как в цикле, так и вне его.. 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 06ef5d05..883d7fb7 100644 --- a/docs/ru/designers/language-builtin-functions/language-function-literal.xml +++ b/docs/ru/designers/language-builtin-functions/language-function-literal.xml @@ -1,14 +1,17 @@ - + literal - Тэг Literal позволяет указать блок данных, который не должен - быть обработан Smarty. Это удобно для вывода javascript кода, - когда символы { и } могут быть не правильно поняты парсером - шаблонов. Все, что окружено тэгами {literal} и {/literal} - не обрабатывается и просто отображается как есть. + Тэги literal позволяют воспринимать блоки данных буквально. + Обычно они используются вместе с javascript или таблицами стилей, в которых + фигурные скобки конфликтуют с синтаксисом разделителей. + Весь текст внутри тэгов {literal}{/literal} не интерпретируется, а выводится + "как есть". Если вам нужно вставить тэги шаблонов в блок literal, вам следует + пойти по другому пути и использовать {ldelim}{rdelim} для экранирования + отдельных разделителей. тэг literal @@ -19,7 +22,7 @@ - diff --git a/docs/ru/designers/language-custom-functions/language-function-html-radios.xml b/docs/ru/designers/language-custom-functions/language-function-html-radios.xml index 981b4382..1a6e6b52 100644 --- a/docs/ru/designers/language-custom-functions/language-function-html-radios.xml +++ b/docs/ru/designers/language-custom-functions/language-function-html-radios.xml @@ -1,6 +1,6 @@ - + html_radios @@ -14,7 +14,7 @@ Имя аттрибута Тип - Обязателен + Обязателен По умолчанию Описание @@ -53,7 +53,7 @@ ассоциативный массив Да, если не указаны аттрибуты values и output n/a - ассоциативный массив значений и названий + ассоциативный массив значений и названий элементов выбора @@ -67,64 +67,61 @@ - Пользовательсякая функция html_radios генерирует HMTL код + Пользовательсякая функция html_radios генерирует HMTL код группы элементов выбора (radio button group). Автоматически - устанавливает выбранное значение, если оно укзано. Требует - наличия аттрибутов values и output или аттрибута options. + устанавливает выбранное значение, если оно укзано. Требует + наличия аттрибутов values и output или аттрибута options. Сгенерированный HMTL код совместим с XHTML. - Все параметры, которые не указаны в таблице выше, передаются + Все параметры, которые не указаны в таблице выше, передаются и выводятся внутри каждого созданного тэга <input>. html_radios -assign('cust_ids', array(1000,1001,1002,1003)); - $smarty->assign('cust_names', array('Joe Schmoe','Jack Smith','Jane - Johnson','Carlie Brown')); - $smarty->assign('customer_id', 1001); - $smarty->display('index.tpl'); +require('Smarty.class.php'); +$smarty = new Smarty; +$smarty->assign('cust_ids', array(1000,1001,1002,1003)); +$smarty->assign('cust_names', array('Joe Schmoe','Jack Smith','Jane +Johnson','Charlie Brown')); +$smarty->assign('customer_id', 1001); +$smarty->display('index.tpl'); - index.tpl: +index.tpl: - {html_radios values=$cust_ids checked=$customer_id output=$cust_names separator="
"} +{html_radios name="id" values=$cust_ids selected=$customer_id output=$cust_names separator="<br />"} - index.php: +index.php: - require('Smarty.php.class'); - $smarty = new Smarty; - $smarty->assign('cust_radios', array( - 1001 => 'Joe Schmoe', - 1002 => 'Jack Smith', - 1003 => 'Jane Johnson', - 1004 => 'Charlie Brown')); - $smarty->assign('customer_id', 1001); - $smarty->display('index.tpl'); +require('Smarty.class.php'); +$smarty = new Smarty; +$smarty->assign('cust_radios', array( + 1000 => 'Joe Schmoe', + 1001 => 'Jack Smith', + 1002 => 'Jane Johnson', + 1003 => 'Charlie Brown')); +$smarty->assign('customer_id', 1001); +$smarty->display('index.tpl'); - index.tpl: +index.tpl: - {html_radios name="id" options=$cust_radios checked=$customer_id separator="
"} +{html_radios name="id" options=$cust_radios selected=$customer_id separator="<br />"} - OUTPUT: (both examples) +OUTPUT: (both examples) - Joe Schmoe
-
- Jane Johnson
- Charlie Brown
-]]> -
-
+<input type="radio" name="id" value="1000">Joe Schmoe<br /> +<input type="radio" name="id" value="1001" checked="checked">Jack Smith<br /> +<input type="radio" name="id" value="1002">Jane Johnson<br /> +<input type="radio" name="id" value="1003">Charlie Brown<br /> +
+ diff --git a/docs/ru/language-snippets.ent b/docs/ru/language-snippets.ent index d213a31b..00ce8fae 100644 --- a/docs/ru/language-snippets.ent +++ b/docs/ru/language-snippets.ent @@ -1,10 +1,12 @@ - + + + Техническое замечание Пераметр merge принимает ключи в виде массива, - поэтому если вы объединяете массивы с числовыми индексами, то они могут - наложиться друг на друга или в результате может получиться массив с + поэтому если вы объединяете массивы с числовыми индексами, то они могут + наложиться друг на друга или в результате может получиться массив с пропущенными ключами. Заметьте, что в отличие от этого, функция PHP array_merge() перенумеровывает совпадающие числовые индексы. @@ -13,13 +15,13 @@ В качестве необязательного третьего параметра вы можете передать compile_id. Это указывает на то, что вы хотите - иметь несколько разных версий одного и того же скомпилированного шаблона, - например, для разных яызков. Другой вариант применения - compile_id - это когда у вас есть несколько + иметь несколько разных версий одного и того же скомпилированного шаблона, + например, для разных яызков. Другой вариант применения + compile_id - это когда у вас есть несколько директорий с шаблонами ($template_dir), но только одна директория с - компилированными шаблонами ($compile_dir). Установите отдельный - compile_id для каждой $template_dir, иначе + компилированными шаблонами ($compile_dir). Установите отдельный + compile_id для каждой $template_dir, иначе одноименные шаблоны из разных директорий будут перезаписывать друг друга. - Вы также можете указать $compile_id + Вы также можете указать $compile_id один раз вместо того, чтобы каждый раз передавать его этой функции. '> diff --git a/docs/ru/programmers/api-functions/api-unregister-postfilter.xml b/docs/ru/programmers/api-functions/api-unregister-postfilter.xml index ed611113..c2afb1fb 100644 --- a/docs/ru/programmers/api-functions/api-unregister-postfilter.xml +++ b/docs/ru/programmers/api-functions/api-unregister-postfilter.xml @@ -1,6 +1,6 @@ - + unregister_postfilter diff --git a/docs/ru/programmers/api-variables/variable-cache-modified-check.xml b/docs/ru/programmers/api-variables/variable-cache-modified-check.xml index c44f27bd..f33f123d 100644 --- a/docs/ru/programmers/api-variables/variable-cache-modified-check.xml +++ b/docs/ru/programmers/api-variables/variable-cache-modified-check.xml @@ -1,6 +1,6 @@ - + $cache_modified_check diff --git a/docs/ru/programmers/api-variables/variable-left-delimiter.xml b/docs/ru/programmers/api-variables/variable-left-delimiter.xml index ccd8d664..e32d4fdb 100644 --- a/docs/ru/programmers/api-variables/variable-left-delimiter.xml +++ b/docs/ru/programmers/api-variables/variable-left-delimiter.xml @@ -4,7 +4,7 @@ $left_delimiter - Левый ограничитель, используемый в языке шаблонов. + Левый разделитель, используемый в языке шаблонов. По умолчанию равно "{". diff --git a/docs/ru/programmers/api-variables/variable-plugins-dir.xml b/docs/ru/programmers/api-variables/variable-plugins-dir.xml index 76fbecb0..e13f950a 100644 --- a/docs/ru/programmers/api-variables/variable-plugins-dir.xml +++ b/docs/ru/programmers/api-variables/variable-plugins-dir.xml @@ -1,6 +1,6 @@ - + $plugins_dir diff --git a/docs/ru/programmers/api-variables/variable-right-delimiter.xml b/docs/ru/programmers/api-variables/variable-right-delimiter.xml index 95316641..7c987082 100644 --- a/docs/ru/programmers/api-variables/variable-right-delimiter.xml +++ b/docs/ru/programmers/api-variables/variable-right-delimiter.xml @@ -1,10 +1,11 @@ - + + $right_delimiter - This is the right delimiter used by the template language. - Default is "}". + Правый разделитель, используемый в языке шаблонов. + По умолчанию равно "}". + + $security_settings - These are used to override or specify the security settings when - security is enabled. These are the possible settings: - + Это используется для изменения или указания настроек безопасности + когда безопасносить (security) включена. Допустимые значения: + /para> - PHP_HANDLING - true/false. If set to true, the - $php_handling setting is not checked for security. - IF_FUNCS - This is an array of the names of permitted - PHP functions in IF statements. - INCLUDE_ANY - true/false. If set to true, any - template can be included from the file system, regardless of the - $secure_dir list. - PHP_TAGS - true/false. If set to true, {php}{/php} - tags are permitted in the templates. - MODIFIER_FUNCS - This is an array of the names of permitted - PHP functions used as variable modifiers. + PHP_HANDLING - true/false. Если установлено в true, параметр + $php_handling не проверяется на безопасность. + IF_FUNCS - Это массив имён PHP-функций, разрешенных + к использованию в условиях IF. + INCLUDE_ANY - true/false. Если установлено в true, любой + шаблон может быть подключен из файловой системы, независимо от списка + $secure_dir. + PHP_TAGS - true/false. Если установлено в true, тэги {php}{/php} + разрешены к использованию в шаблонах. + MODIFIER_FUNCS - Это массив имён PHP-функций, разрешенных + к использованию в качестве модификаторов переменных.