Создание веб-формы для проектируемой системы Вопрос-Ответ на Bitrix. (Часть 1)

3978
2

Продолжение статьи про создание простой системы «Вопрос-Ответ» на основе веб-форм CMS 1C Bitrix. Будем действовать в соответствии с разработанным планом, а это значит что для начала определяем данные которые нам потребуются для сбора:. В Веб-Формах Битрикса имеются специальные поля «Вопросы» к которым можно применять различные типы.

Определение необходимых данных для сбора в веб форму Битрикс.

Будем действовать в соответствии с разработанным планом, а это значит, что необходимо определить данные которые нам потребуются для сбора:
В Веб-формах Битрикса имеются специальные поля «Вопросы» к которым можно применять различные типы.

Типы ответов Веб-Форм Битрикс
Типы ответов Веб-Форм Битрикс

client_name — имя посетителя, формат текстовая строка длиной от 3 до 100 символов, обязательное поле.
client_text — текст вопроса, формат текст, обязательное поле.
client_email — адрес электронной почты посетителя, формат e-mail, не обязательное, e-mail нынче не у всех имеются ;)
client_phone — телефон для связи, текстовое поле, обязательное, уж телефон у человека точно есть, да и в контакт менеджер сможет войти, а дальше дело техники, но Вы в своем примере можете сделать это поле не обязательным.
site_id — идентификатор сайта, на котором размещена система «Вопрос-Ответ». Это скрытое поле, которые будет заполняться программно после добавления результатов Веб-формы в базу. Замечу, что это поле создано для того чтобы различить вопросы посетителей на разных сайтах, но храниться они все они будут в одной табличке. Если у вас под управлением Битрикс всего один сайт то в поле site_id необходимости вообще нет, но и мешать оно не будет.
our_answer — текстовое поле для нашего ответа посетителю. Данное поле будет доступно только модератору и администратору.

Так же сделаем два статуса для веб-формы (где они делаются расскажу позже): статус Вопрос то есть когда посетитель задал вопрос и статус Ответ, когда модератор ответил на вопрос, причем в статс Вопрос результат заполнения формы должен переходить по умолчанию после заполнения, а в статус Ответ после того как модератор размещает ответ.

Теперь, когда с полями системы мы определились, создаем Веб-Форму в админке. Лучше всего с методами создания веб-форм ознакомится на официальном сайте 1С Битрикс. Система Вопрос-Ответ разрабатывалась под 10 версию Битрикса, поэтому как она себя поведет с другими версиями неизвестно.

Настройка Веб-форм
Настройка Веб-форм

Заходим в административную панель, Сервисы -> Веб-Формы -> Настройка форм. Создаем новую форму. На странице Свойства заполняем поля и ставим галочку на Использовать Captcha. Сохраняем форму и переходим к созданию так называемых вопросов, то есть полей которые будет заполнять посетитель.

Вопросы к веб-форме
Вопросы к веб-форме

Перед тем как создавать саму форму необходимо создать Вопросы, то есть поля, которые будет заполнять посетитель. Создание Вопросов делается на закладке «Вопросы» на странице создания веб-формы. Какие типы полей назначать и какие идентификаторы вопросов присваивать надеюсь понятно. Так же, думаю не будет проблем с валидаторами вопросов. В результате у вас должна получиться табличка как на скриншоте, причем тип поля site_id необходимо сделать hidden чтобы оно не отображалось на заполняемой посетителем форме.

Создание статусов веб-форм
Создание статусов веб-форм

Аналогично Вопросам создаем два статуса в соответствии с разработанным планом. Причем для статус Вопрос делаем по умолчанию

Создание полей веб-формы
Создание полей веб-формы

Создаем поля веб-формы, а вернее единственное поле our_answer. Насколько я понимаю поля веб-формы отличаются от вопросов тем, что не выводятся в обязательном порядке на форму ввода данных, а могут хранить произвольную информацию и выводиться в нужный момент так же произвольно, по желанию автора кода. Данное поле будет заполняться модератором, после чего весь результат веб-формы будет показываться на сайте в открытом доступе для посетителей.

Создание формы
Создание формы

Следующим важным этапом является создание самой формы. Вы можете использовать шаблон формы по умолчанию либо создать собственный шаблон. Я создал собственный шаблон формы, в результате чего у меня получилась форма как на скриншоте ниже.

В результате код формы выглядит следующим образом:

Задать вопрос

Ваше имя:ShowRequired()?>
E-mail:
Телефон для связи:ShowRequired()?>
Вопрос:ShowRequired()?>
Защита от флудаShowRequired()?>

Стили формы вы можете настроить самостоятельно. В моем случае css выглядит как

Готовая веб-форма
Готовая веб-форма

Внеше, если разместить ее на страницу сайта форма будет выглядеть следующим образом:

Начало: Система «Вопрос-Ответ» на основе модуля «Веб-формы» CMS 1C-Bitrix»

2 КОММЕНТАРИИ

  1. не могу разобраться как Вы сделали типы client_name и т.д. что бы отображалось в столбце символьный идентификатор и таб. excell. помоги пожалуйста.

  2. На закладке вопросы

    Рабочий стол -> Сервисы ->Веб-формы ->Настройка форм ->(SIMPLE_FORM_8) Вопрос-Ответ
    добавляете новый вопрос и указываете в поле идентификатор то название какое нужно. Я указал client_name и т.д.

    Может быть у Вас просто столбцы эти не показываются? Если так, то надо просто нажать кнопку «НАСТРОИТЬ» прямо в том же разделе редактирования вопросов и выбрать для показа необходимые столбцы.

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here