====== Блок "Форма обратной связи" ====== {{:blocks:block.gif }}Блок предназначен для вывода формы обратной связи. ===== Свойства ===== * Входит в базовый дистрибутив: Да * Многократное использование: Да * Кэширование данных: Да * Сопутствует модулю: [[:modules:feedback|"Форма обратной связи"]] ===== Создание блока ===== Для создания блока нужно перейти к управлению блоками в "Сайт" -> "Блоки" и добавить новый блок, выбрав при этом в качестве базового типа "Форма обратной связи". {{ :blocks:blockfeedback.jpg }} ===== Параметры ===== ^ Название ^ Идентификатор ^ Описание ^ | Раздел | idsec | Раздел обратной связи. | | Шаблон | template | Шаблон блока, по умолчанию feedback.tpl. | ===== Данные доступные в шаблоне (feedback.tpl) ===== Шаблон содержит форму, которая должна быть направлена на соответствующий раздел. ==== $fields ==== Ассоциированный массив записей с данными о наборе полей у формы. Ключом каждой записи является идентификатор поля, а сами записи представляют собой массив с ключами: * **field** - строковой идентификатор поля (он же является ключом для всей записи). * **name** - описание поля. * **type** - тип поля, принимает одно из значений, [[:build:fields#Типы полей|доступных в редакторе полей]]. * **property** - сопутствующее свойство для типа поля, например допустимое количество символов для типа string. * **value** - начальное значение для элемента ввода в форме. * **fill** - значение свойства "Обязательно для заполнения", принимает значения Y/N. ==== $captcha ==== Содержит значение, которое может быть использовано в скрытом поле captcha, если форму отправки необходимо сделать без ввода контрольных цифр на рисунке. ==== Пример шаблона ==== {* Скрипт валидации формы. *} {literal} {/literal}
{foreach from=$fields item=field} {if $field.type=="string"} {$field.name}:{if $field.fill=="Y"}*{/if}
{editbox name=$field.field max=$field.property text=$field.value width="90%"}
{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 width="90%"}
{elseif $field.type=="select"} {$field.name}:{if $field.fill=="Y"}*{/if}

{/if} {/foreach} {hidden name="captcha" value=$captcha} {hidden name="action" value="send"} {submit caption="Отправить"}