Разработка и Конфигурация · 11 мин
Как создать форму обратной связи в 1С-Битрикс
Как создать форму обратной связи в 1С-Битрикс: компонент main.feedback, веб-формы, настройка почтовых шаблонов, защита от спама и проверка отправки писем.
Практически на каждом сайте под управлением 1С-Битрикс требуется форма обратной связи: страница «Контакты», форма заказа звонка, заявка на консультацию. Система предлагает два штатных пути — простой компонент main.feedback и более мощный модуль веб-форм. Оба варианта не требуют программирования и реализуются через административный интерфейс.
Выбор подхода зависит от задачи. Если нужна простая форма «Имя — Email — Сообщение», которая отправляет письмо администратору, достаточно компонента обратной связи. Если требуется сохранять заполненные формы в базе, строить по ним отчёты, добавлять нестандартные поля и менять набор полей без правки кода — правильнее использовать веб-формы.
Ниже разобраны оба способа с пошаговыми действиями, настройкой почтовых шаблонов, защитой от спама и проверкой результата. Инструкции применимы к редакциям, где присутствуют соответствующие модули: модуль «Веб-формы» доступен не во всех редакциях, а компонент main.feedback входит в базовую поставку.
Способ первый: компонент «Форма обратной связи» (main.feedback)
Самый быстрый путь — стандартный компонент. Откройте страницу, где должна быть форма (например, /contacts/), в режиме правки через панель управления. В визуальном редакторе найдите в дереве компонентов раздел «Служебные» или «Контент» (в разных версиях расположение отличается) и перетащите «Форма обратной связи» в нужную область страницы.
Дважды кликните по размещённому компоненту, чтобы открыть параметры. Ключевые настройки: адрес получателя письма (по умолчанию берётся из настроек главного модуля), использование капчи, текст кнопки отправки и сообщение об успешной отправке. Сохраните параметры и саму страницу.
Если вы работаете с кодом шаблона напрямую, компонент подключается стандартным вызовом в нужном месте страницы. При этом важно не менять системные шаблоны компонента, а скопировать шаблон в шаблон сайта и править уже копию — иначе изменения будут перезаписаны при обновлении.
- 1Откройте целевую страницу в режиме правки через административную панель
- 2Перетащите компонент «Форма обратной связи» из списка компонентов в нужную область
- 3В параметрах укажите email получателя, включите капчу, задайте текст кнопки и сообщение об успехе
- 4Сохраните параметры компонента и страницу
- 5Отправьте тестовое сообщение из публичной части и проверьте почтовый ящик получателя
Настройка почтового шаблона
Письмо из формы отправляется по почтовому шаблону. Перейдите в административном разделе: Настройки → Настройки продукта → Почтовые и SMS события → Почтовые шаблоны. Найдите шаблон, привязанный к типу почтового события обратной связи, и проверьте поля «Кому», тему и тело письма. В теле доступны макросы с данными формы — имя, email и текст сообщения посетителя.
Убедитесь, что шаблон привязан к нужному сайту (если в системе настроено многосайтовое окружение) и что в поле «От кого» указан корректный адрес отправителя. Частая причина «неприходящих» писем — несуществующий или невалидный адрес отправителя, который отклоняет почтовый сервер.
Способ второй: модуль «Веб-формы»
Модуль веб-форм подходит, когда данных больше, чем три стандартных поля. Перейдите в раздел Сервисы → Веб-формы и нажмите «Добавить форму». Задайте символьный код формы (латиницей, без пробелов), название и привязку к сайту. На вкладке настройки укажите, что делать с результатами: сохранять в базе и/или отправлять по email.
После создания формы перейдите на вкладку «Вопросы» и добавьте поля: имя, телефон, email, текст обращения, выбор темы. Для каждого поля задаётся тип (текст, textarea, выпадающий список, чекбокс), обязательность заполнения и подпись. На вкладке «Почтовые шаблоны» создайте или привяжите шаблон письма, в который будут подставляться ответы посетителя.
Вывод формы на сайте выполняется компонентом «Заполнение веб-формы» (form.result.new). Разместите его на странице через визуальный редактор и в параметрах укажите символьный код созданной формы. После сохранения форма появится на странице, а результаты заполнения будут доступны в разделе Сервисы → Веб-формы → Результаты.
Сравнение вариантов
Подходит для простой формы «Имя — Email — Сообщение». Настраивается за минуты, но поля фиксированы, результаты не сохраняются в базе — только письмо.
Произвольные поля, сохранение результатов, статистика, валидация. Требует наличия модуля в редакции и чуть больше времени на настройку.
Вариант для разработчиков, когда нужна нестандартная логика: заявки как элементы инфоблока, статусы обработки, интеграции. Требует программирования.
Проверка отправки почты
Даже корректно настроенная форма не принесёт заявок, если сайт не отправляет письма. Проверьте работу почты заранее: Настройки → Инструменты → Командная PHP-строка либо встроенная проверка в разделе «Проверка системы» (Настройки → Инструменты → Проверка системы), где есть тест отправки почтового сообщения.
Если письма не уходят или попадают в спам, настройте отправку через SMTP внешнего почтового сервиса. В современных версиях это делается в Настройки → Настройки продукта → Почтовые и SMS события → Почтовые события / Настройки SMTP, либо через модуль интеграции с почтой. Отправка через SMTP с корректными SPF- и DKIM-записями домена заметно повышает доставляемость по сравнению со штатной функцией mail() сервера.
Как проверить результат
Письмо приходит на указанный ящик в течение нескольких минут, данные подставлены корректно
Письма нет ни во входящих, ни в спаме — проверяйте почтовый шаблон и работу почты сайта
При пустом обязательном поле форма показывает ошибку и не отправляется
Форма отправляется с пустыми полями — не настроена обязательность
Заполнение появляется в списке результатов формы
Результатов нет — в настройках формы не включено сохранение
Защита формы от спама
Открытая форма без защиты быстро становится целью спам-ботов. В параметрах компонента main.feedback включите использование капчи — для неавторизованных посетителей она будет обязательна. Для веб-форм капча включается в настройках самой формы соответствующей опцией.
Дополнительно в настройках главного модуля можно подключить сервис reCAPTCHA, указав ключи сайта — это удобнее для пользователей, чем ввод символов с картинки. Также полезно ограничить частоту отправок с одного IP и следить за логами: поток одинаковых сообщений с коротким интервалом — признак автоматической рассылки.
Кастомизация: шаблон формы и свои поля
Внешний вид компонента main.feedback меняется через шаблон компонента. Скопируйте шаблон в папку шаблона сайта (например, /bitrix/templates/ваш_шаблон/components/bitrix/main.feedback/имя_шаблона/) и выберите его в параметрах компонента. В копии можно менять HTML-разметку, добавлять классы для стилизации, подключать маски ввода телефона.
Если стандартных трёх полей не хватает, а модуль веб-форм недоступен, поля можно добавить кастомизацией результата компонента или через собственный обработчик. Это уже задача уровня разработчика: потребуется обработка POST-данных, валидация и расширение почтового шаблона. Для большинства прикладных задач проще перейти на веб-формы, чем дорабатывать main.feedback кодом.
Частые проблемы и их диагностика
Ситуация «форма отправляется, письмо не приходит» — самая распространённая. Проверяйте по цепочке: работает ли отправка почты в принципе (тест в «Проверке системы»), существует ли почтовый шаблон для события и активен ли он, не попадает ли письмо в спам, корректен ли адрес получателя в параметрах компонента.
Вторая типичная ситуация — после нажатия кнопки страница перезагружается без сообщения об успехе. Обычно это конфликт JavaScript на странице или ошибки в кастомизированном шаблоне компонента. Откройте консоль браузера и проверьте наличие JS-ошибок; временно переключитесь на шаблон компонента по умолчанию, чтобы локализовать проблему.
Если веб-форма не сохраняет результаты, проверьте настройки формы: сохранение результатов должно быть включено явно, а у группы пользователей «все посетители» должны быть права на заполнение формы. Права настраиваются в параметрах формы на вкладке «Доступ».
Как выбрать действие
Итог и рекомендации
Для типовой страницы «Контакты» оптимален компонент main.feedback: он разворачивается за несколько минут и не требует знаний программирования. Для форм с произвольным набором полей, валидацией и хранением заявок используйте модуль веб-форм. В обоих случаях финальный обязательный шаг — тестовая отправка и проверка доставки письма.
Сопровождение формы сводится к трём регулярным действиям: контроль доставляемости почты, проверка спам-защиты и аккуратность при обновлениях системы. Все доработки внешнего вида выполняйте только в скопированных шаблонах компонентов.
Что важно запомнить
Простая форма — компонент main.feedback, гибкая форма с полями и статистикой — модуль веб-форм. Обязательно настройте почтовый шаблон, включите капчу и проверьте реальную доставку письма. Шаблоны компонентов правьте только в копиях внутри шаблона сайта.
Часто задаваемые вопросы
Можно ли создать форму обратной связи без доступа к коду?
Да. Оба штатных способа — компонент main.feedback и модуль веб-форм — полностью настраиваются через административный интерфейс и визуальный редактор. Программирование потребуется только для нестандартного внешнего вида или особой логики обработки заявок.
Почему письмо из формы попадает в спам?
Чаще всего причина в отправке через штатную функцию сервера без корректных записей домена. Настройте отправку через SMTP реального почтового ящика и проверьте, что для домена прописаны SPF- и DKIM-записи. Также проверьте, что адрес отправителя в почтовом шаблоне существует и относится к домену сайта.
Как добавить в форму поле «Телефон» с маской ввода?
В модуле веб-форм добавьте новый вопрос типа «текст» с подписью «Телефон» и отметьте его обязательным. Маска ввода подключается в шаблоне компонента вывода формы через JavaScript-библиотеку масок — это уже доработка шаблона, выполняемая в его копии внутри шаблона сайта.
Куда сохраняются заполненные веб-формы?
Результаты хранятся в базе данных и доступны в административном разделе: Сервисы → Веб-формы → Результаты. Там их можно фильтровать по форме и дате, просматривать, выгружать и менять статусы обработки, если статусы настроены в параметрах формы.
Форма перестала работать после обновления Битрикса. Что делать?
Сначала проверьте, не правились ли системные файлы компонента — если да, восстановите их из резервной копии и перенесите доработки в шаблон сайта. Затем проверьте активность почтового шаблона и работу отправки почты через «Проверку системы»: обновления иногда меняют настройки почтовых событий.
Можно ли отправлять заявки сразу в CRM Битрикс24?
Да, с помощью модуля интеграции с CRM: веб-формы сайта можно связать с лидогенерацией Битрикс24, и заполнения будут создавать лиды. Настройка выполняется в параметрах формы и на стороне портала Битрикс24, потребуется авторизация интеграции.