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

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

Свойства

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

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

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

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 · Последние изменения: 14.02.2018 12:36 (внешнее изменение)