Особливості створення форм на сайті під керуванням «1С-Бітрікс»
Незважаючи на те, що модуль "Веб-форми" системи "1С-Бітрікс" дозволяє створювати на сайті досить складні форми з різними типами полів, існує низка обмежень. Наприклад, стандартним способом не можна створити групи елементів списку (html – елемент OPTGROUP) або помістити в атрибут value текстового поля вираз PHP.
Нещодавно при створенні форми мені потрібно було помістити в приховане поле дату і час, на момент заповнення форми відвідувачем сайту. У цій статті я опишу, яким чином це було зроблено. Під час створення статті я використовував демо-версію системи для розробників. У ній вже є готова форма «Анкета відвідувача сайту», до неї я додам приховане поле.

Для початку потрібно увімкнути розширений режим керування веб-формами. Робиться це в налаштуваннях сайту:Налаштування ˃ Налаштування продукту ˃ Налаштування модулів ˃ Веб-форми. Потрібно зняти позначку з прапорця "Використовувати спрощений режим редагування форм".
Під час створення шаблону веб-форми потрібно вибрати опцію «Використовувати шаблон форми за промовчанням».

Додаємо нове поле. На закладці «Відповідь» нічого не заповнюємо, тільки вибираємо тип“hidden”.

Після додавання решти необхідних полів розміщуємо форму на сторінці сайту. У моєму випадку я використовую компонент «Заповнення веб-форми» (bitrix:form.result.new ). Копіюємо шаблон компонента в папку із шаблоном сайту. У демо-версії шлях до шаблону буде таким (я назвав копію шаблону custom): /bitrix/templates/books/components/bitrix/form.result.new/custom/
Тепер саме час пояснити, як система формує імена полів у формах. Ім'я поля має вигляд:form_ТИП ПОЛЯ_ІДЕНТИФІКАТОР ПОЛЯ. Ці дані можна переглянути в масиві $arResult["QUESTIONS"] , якщо вивести йогоза допомогою PHP функції print_r(), розмістивши її в коді файлу шаблонуtemplate.php.

Таким чином, ім'я нового поля буде наступним: form_hidden_29.
У результаті вийде наступний код усередині файлу шаблону:
Тепер значенням атрибуту value прихованого поля test_field буде дата заповнення форми користувачем.

На завершення цієї статті можна зробити висновок, що можливості відображення полів, які не передбачені системою, можна спробувати реалізувати в шаблоні компонента, що виводить веб-форму на сторінці сайту.