====== Модуль "Обратная связь": данные доступные в шаблонах ====== ===== Главная страница ([раздел]_main.tpl) ===== Этот тип шаблона содержит данные текста и описание набора полей для формы отправки. ==== $content ==== Форматированный текст. ==== $fields ==== Ассоциированный массив записей с данными о наборе полей у формы. Ключом каждой записи является идентификатор поля, а сами записи представляют собой массив с ключами: * **field** - строковой идентификатор поля (он же является ключом для всей записи). * **name** - название поля. * **type** - тип поля, принимает одно из значений, [[:build:fields#Типы полей|доступных в редакторе полей]]. * **property** - сопутствующее свойство для типа поля, например допустимое количество символов для типа string. * **value** - начальное значение для элемента ввода в форме. * **fill** - значение свойства "Обязательно для заполнения", принимает значения Y/N. ==== $form ==== Массив данных для начальных значений формы (аналог **value** в записях **$fields**). По сути является копией $_REQUEST, поэтому при выводе важно защищать значения с помощью [[:smarty:smarty3#escape|escape]]. Если на сайте используется раздел на базе модуля [[:modules:users|"Пользователи"]], то значения массива с ключами name и email будут замещаться на имя пользователя и его email соответственно, в случае если он авторизирован на сайте. ==== $captcha ==== Содержит значение, которое может быть использовано в скрытом поле captcha, если форму отправки необходимо сделать без ввода контрольных цифр на рисунке. ==== $errors.captcha ==== Принимает значение истина, если пользователь ошибся при вводе контрольных цифр на рисунке. ==== Пример шаблона ====

{$section_name}

{$content} {* Текст на странице. *} {if $errors.captcha}

Неверно введены контрольные цифры, попробуйте еще раз.

{/if} {* Скрипт валидации формы. *} {literal} {/literal}

Отправить сообщение:

{foreach from=$fields item=field} {* Обход массива с данными о полях формы. *} {if $field.type=="string"}

{$field.name}:{if $field.fill=="Y"}*{/if}

{editbox name=$field.field max=$field.length text=$field.value width="40%"}

{elseif $field.type=="int" || $field.type=="float"}

{$field.name}:{if $field.fill=="Y"}*{/if}

{editbox name=$field.field max=10 width=60 text=$field.value}

{elseif $field.type=="bool"}

 {$field.name}

{elseif $field.type=="text"}

{$field.name}{if $field.fill=="Y"}*{/if}:

{textarea name=$field.field rows=$field.property text=$field.value}

{elseif $field.type=="select"}

{$field.name}:{if $field.fill=="Y"}*{/if}

{elseif $field.type=="mselect"}

{$field.name}:{if $field.fill=="Y"}*{/if}

{html_checkboxes name=$field.field options=$field.options checked=$field.value separator=", "}

{elseif $field.type=="file"}

{$field.name}:

{/if} {/foreach}

Введите цифры на рисунке:* {editbox name="captcha" max=4 width="50"} {captcha} {* Вывод картинки с контрольными цифрами. *}

{submit caption="Отправить"} {hidden name="action" value="send"}
===== Страница сообщения ([раздел]_message.tpl) ===== Этот тип шаблона предусмотрен для вывода специального сообщения после успешной отправки формы. Он не содержит специальных данных, текст сообщения об успешной отправке вставляется непосредственно в шаблон. ==== $fields ==== Ассоциированный массив записей с данными о наборе полей у формы. Ключом каждой записи является идентификатор поля, а сами записи представляют собой массив с ключами: * **field** - строковой идентификатор поля (он же является ключом для всей записи). * **name** - название поля. * **type** - тип поля, принимает одно из значений, [[:build:fields#Типы полей|доступных в редакторе полей]]. * **value** - значение. ==== Пример шаблона ====

{$section_name}

Ваше сообщение отправлено.

Вы указали следущие данные:

{foreach from=$fields item=field} {$field.name}: {$field.value|escape}
{/foreach}