Блок "Форма вопроса"

Блок предназначен для вывода формы добавления вопроса в соответствующий раздел на базе модуля "Вопрос-ответ".

Свойства

  • Входит в базовый дистрибутив: Да
  • Многократное использование: Да
  • Кэширование данных: Нет
  • Сопутствует модулю: "Форма вопроса"

Создание блока

Для создания блока нужно перейти к управлению блоками в «Сайт» → «Блоки» и добавить новый блок, выбрав при этом в качестве базового типа «Форма вопроса».

blockfaqform.jpg

Параметры

Название Идентификатор Описание
Раздел idsec Раздел вопросов.
Шаблон template Шаблон блока, по умолчанию faqform.tpl.

Данные доступные в шаблоне (faqform.tpl)

Шаблон содержит форму, которая должна быть направлена на соответствующий раздел.

$form

Массив данных для начальных значений формы. По сути является копией данных $_POST с дополнительными данными, поэтому при выводе важно защищать значения с помощью escape. Если на сайте используется раздел на базе модуля "Пользователи", то значения массива с ключами user и email будут замещаться на имя пользователя и его email соответственно, в случае если он авторизирован на сайте.

name

Заголовок вопроса.

user

Имя пользователя.

email

Email пользователя.

categories

Ассоциированный массив содержащий список категорий с их чиловыми идентификаторами в качестве ключа. Может использоваться в качестве параметра options для функции html_options.

question

Текст вопроса.

$captcha

Содержит значение, которое может быть использовано в скрытом поле captcha, если форму отправки необходимо сделать без ввода контрольных цифр на рисунке.

Пример шаблона

{literal}
<script type="text/javascript">
function valid_faqform(form)
{ if(form.user.value.replace(/\s+/,'').length<3)
  { alert('Пожалуйста, укажите свое имя.'); return false; }
  if(form.question.value.replace(/\s+/,'').length<5)
  { alert('Заполните текст вопроса.'); return false; }
  return true;
}
</script>
{/literal}
 
<h3>Задать вопрос</h3>
<form action="{$sectionlink}" method="post" onsubmit="return valid_faqform(this)">
Заголовок:<br>
{editbox name="name" text=$form.name}<br>
Ваше имя:<br>
{editbox name="user" max=50 text=$form.user}<br>
Ваш e-mail:<br>
{editbox name="email" max=50 text=$form.email}<br>
{if $form.categories}
Категория:<br>
<select name="idcat">
<option value="0">Не выбрано</option>
{html_options options=$form.categories selected=$form.idcat}
</select><br>
{/if}
Вопрос:<br>
{textarea name="question" rows=5 text=$form.question}<br>
<br>
{hidden name="captcha" value=$captcha}
{hidden name="action" value="addquestion"}
{submit caption="Отправить"}
</form>
 
blocks/faqform.txt · Последние изменения: 01.10.2016 23:26 (внешнее изменение)