qwelp.popups · Руководство по подключению
Документация
Всплывающие формы: полное руководство по установке, настройке и использованию. Версия 1.0.0.
Начало
Навигация модуля находится в левом меню: «Формы и шаблоны», журнал заявок, «Настройки» и последняя ссылка «Документация». Общие параметры задаются в собственных настройках модуля; штатная страница «Настройки → Настройки продукта → Настройки модулей» содержит только вкладку «Доступ». В карточке формы вкладки сохраняют введённые значения до сохранения. Для примера подключения нажмите «Копировать»; если браузер запрещает доступ к буферу, выделенный код можно скопировать вручную.
Модуль «Квэлп: Всплывающие формы» собирает обращения посетителей, показывает товарные формы и позволяет создавать формы со своими полями. Заявки доступны в административном разделе сайта.
- Откройте «Формы и шаблоны». Выберите готовую форму или нажмите «Добавить форму». Укажите сайт, название, поля и адрес получателя, затем сохраните.
- В карточке сохранённой формы откройте «Размещение на сайте». Скопируйте готовый пример на PHP-страницу между подключением шапки и подвала. Или добавьте компонент «Qwelp → Всплывающая форма» через редактор страницы.
- На сайте откройте форму, заполните поля и отправьте тестовое обращение. Проверьте результат в разделе «Все заявки» и получение письма.
Для первого знакомства подойдёт «Заказать звонок»: товар и настройки заказа для неё не нужны. Заказ в один клик создаёт настоящий заказ, а «Намекнуть о подарке» отправляет письмо указанному получателю — проверяйте эти формы на тестовом сайте с собственными контактами.
Какие формы доступны
| Форма | Результат |
|---|---|
| Заказать звонок | Заявка с контактами и выбранным способом связи. |
| Купить в 1 клик | Заказ Bitrix выбранного товара или предложения и запись в журнале. |
| Нашли дешевле / Подобрать аксессуар | Обращение, связанное с товаром. |
| Намекнуть о подарке | Письмо получателю и заявка. |
| Отзыв о магазине | Оценка и текст авторизованного посетителя в журнале заявок. |
| Произвольная форма | Обращение с заданными вами полями. |
Настройка форм
Создать форму
- Откройте «Формы и шаблоны» → «Добавить форму».
- Задайте код, например
consultation, название и сайт. Код уникален для всей установки: до 20 строчных латинских букв, цифр и подчёркиваний, первый символ — буква. - Добавьте поля, настройте подписи, обязательность, подсказки и порядок. Заполните текст кнопки, сообщение об успешной отправке и адрес получателя.
- Сохраните форму и откройте вкладку «Размещение на сайте».
Форма работает только на выбранном сайте и при включённой активности. Удаление формы сохраняет уже полученные заявки. Для стандартной формы сначала выберите нужный сайт: поля, активность и шаблон настраиваются отдельно по сайтам.
Редактор полей
На вкладке «Поля формы» задайте название, код и тип. Флажки «Показывать поле» и «Обязательно» находятся рядом с действиями. Стрелки меняют порядок полей; крайние направления отключены. «Убрать» удаляет поле из редактора, изменения применяются после сохранения формы.
«Дополнительные параметры» раскрывают подсказку и текст ошибки обязательного поля. Заполненные параметры открываются при загрузке; сворачивание сохраняет значения. Для типа «Список» варианты доступны отдельно, по одному на строку. Новые поля имеют то же оформление и доступные флажки.
| Тип поля | Применение |
|---|---|
| Строка / Многострочный текст | Имя, тема и описание обращения. |
| Телефон / Email / Ссылка | Контакты и адрес страницы; сервер дополнительно проверяет формат. |
| Список | Введите допустимые варианты по одному в строке. |
| Чекбокс | Подтверждение или отдельный выбор посетителя. |
Ограничения и служебные поля
До 100 полей в форме и 100 вариантов в списке. Код поля — до 40 строчных латинских букв, цифр и подчёркиваний, с буквы. Подпись и вариант списка — до 200 символов, подсказка и текст ошибки — до 500. Служебные коды заняты модулем и не могут использоваться для новых полей. Поля name, phone, email также выводятся в основных колонках журнала. Остальные ответы видны в карточке заявки.
У стандартных полей нельзя менять тип. В форме подарка поле контакта получателя должно оставаться включённым и обязательным. Согласие на обработку данных не заменяется произвольным чекбоксом.
Купить в один клик
На вкладке обработки укажите подходящие для сайта тип плательщика, доставку и платёжную систему. Проверьте обязательные свойства заказа и доступность выбранного предложения. Создание заказа само по себе не означает внешнюю оплату.
Размещение
Готовый пример для конкретной формы находится в её карточке на вкладке «Размещение на сайте». Произвольную форму сначала сохраните. В товарных формах укажите реальный ID товара и при необходимости ID предложения.
Через компонент
В визуальном редакторе выберите «Qwelp → Всплывающая форма». Для PHP-страницы вставьте следующий код после подключения шапки; замените consultation кодом своей формы.
$APPLICATION->IncludeComponent('qwelp:popup.form', '.default', [
'FORM_CODE' => 'consultation',
'BUTTON_TEXT' => 'Получить консультацию',
'PRODUCT_ID' => 0,
'OFFER_ID' => 0,
], false);На странице появится кнопка. Содержимое окна, CAPTCHA и данные посетителя загружаются при открытии. Параметр шаблона .default использует оформление, выбранное для формы.
Использовать свою HTML-кнопку
Подключите ресурсы один раз в PHP-коде страницы или шаблона, вне кешируемого фрагмента:
if (\Bitrix\Main\Loader::includeModule('qwelp.popups')) {
\CJSCore::Init(['ajax']);
\Bitrix\Main\UI\Extension::load('qwelp.popups');
}В нужном месте HTML добавьте кнопку с кодом формы:
<button type="button" data-sl-popup="consultation">Получить консультацию</button>Для товарной формы дополнительно используйте data-sl-product-id и data-sl-offer-id. Не вставляйте токены сессии и персональные данные в общий кеш. Если компонент находится внутри кешируемого родителя, подключение ресурсов выше должно выполняться и при попадании родителя в кеш.
Проверить после сохранения
Откройте страницу как посетитель, нажмите кнопку, закройте и откройте окно повторно. После изменения параметров редактором проверьте обычный режим и режим правки. Для второго сайта используйте форму, назначенную этому сайту.
Оформление
Общие радиус окна, цвет кнопок и прозрачность фона задаются в настройках модуля. Для собственных полей и оформления скопируйте шаблон компонента.
- Добавьте на страницу компонент
qwelp:popup.formс нужным исходным шаблоном. - В режиме правки выберите «Копировать шаблон компонента» и создайте свою копию в
/local/templates/ваш_шаблон/components/qwelp/popup.form/my_form/. - Измените файлы копии. В параметрах компонента или настройках формы укажите
my_form. - Проверьте окно, ошибки, успешную отправку, закрытие и мобильный экран.
| Файл | Назначение |
|---|---|
template.php, button.php | Форма и кнопка размещения. |
fields.php, contact.php, product.php | Поля, способы связи и товар. |
agreement.php, captcha.php | Согласие и проверка CAPTCHA. |
close.php, success.php | Закрытие и результат отправки. |
style.css, script.js, lang/ | Собственные стили, поведение и переводы. |
Контракт своего шаблона
Сохраните form[data-form-type], data-custom-form, имена полей, input[name="agree"], контейнеры ошибок .sl-popup__field-error и .sl-popup__form-error, кнопки .sl-popup__form-submit и .sl-popup__close. Для успешного состояния нужны template[data-popup-success], data-success-title и data-success-description.
Стили ограничивайте селектором .sl-popup__modal[data-popup-template="my_form"]. Сохраняйте внутреннюю прокрутку, безопасные отступы экрана и доступность закрытия при клавиатуре. Обработчики добавляйте один раз на экземпляр формы:
document.addEventListener('qwelp:popup:ready', function (event) {
if (event.detail.formCode !== 'consultation') return;
const form = event.detail.form;
if (!form || form.dataset.consultationReady === 'Y') return;
form.dataset.consultationReady = 'Y';
// Добавьте обработчики полей этой формы.
});Пользовательскую копию храните в шаблоне сайта. Изменения файлов установленного модуля могут привести к конфликту обновления; установщик не должен перезаписывать вашу копию.
Заявки и письма
Обработать обращение
- Откройте «Все заявки» или нужный тип формы в меню.
- Используйте фильтры и откройте карточку заявки. Здесь находятся контакты, товар, страница обращения и дополнительные ответы.
- После обработки измените статус. Для массовой операции отметьте нужные записи и выберите действие.
Права модуля: «Доступ закрыт», «Только просмотр», «Полный доступ». Просмотр не даёт права менять заявки, формы и настройки. Права назначаются группам в настройках модуля; учитывайте, что журнал доступен в пределах назначенного права на модуль.
Настроить письма
- В карточке формы задайте адрес получателя.
- На вкладке обработки проверьте почтовые события и шаблоны для выбранного сайта. При сохранении формы недостающие почтовые ресурсы создаются автоматически; кнопка создания также доступна отдельно.
- При изменении стандартного письма добавьте переменную
#FORM_FIELDS#, чтобы получить дополнительные поля. - Отправьте тестовое обращение на свой адрес и проверьте почтовую очередь Bitrix и доставку.
Заявка есть, письма нет
Проверьте адрес получателя, активность почтового шаблона, его привязку к сайту, настройки отправителя и почтового транспорта Bitrix. Успешное сохранение заявки не доказывает доставку письма. Существующие изменённые шаблоны не заменяются автоматически. Для обращения в поддержку укажите код формы, сайт, время теста и текст ошибки без персональных данных посетителя.
Заявка, связанные записи заказа или обратного звонка и письма в очереди сохраняются одной операцией базы данных. При ошибке изменения этой отправки отменяются; для подарка это относится к обоим письмам. Успех означает запись в очередь, доставка зависит от почтового транспорта. Письма администратору содержат REQUEST_ID и REQUEST_URL; старые шаблоны FAQ и обратной связи поддерживаются.
После ошибки сервера CAPTCHA обновляется в текущей форме, введённые поля сохраняются. Если адрес политики не задан, текст согласия отображается законченной фразой без пустой ссылки.
CAPTCHA и данные
CAPTCHA
Каждая форма защищена CAPTCHA. Переключатель в карточке формы выбирает Яндекс SmartCaptcha; если он выключен, используется штатная CAPTCHA Bitrix. Bitrix также используется при запрете внешних запросов или незаполненных ключах Яндекса. Выбор одинаков для отображения и серверной проверки.
- В настройках выберите допустимый режим внешних запросов.
- Для Яндекс SmartCaptcha укажите клиентский и серверный ключи. Серверный ключ хранится на сервере и не предназначен для HTML страницы.
- В карточке формы выберите Яндекс SmartCaptcha или оставьте переключатель выключенным для Bitrix и проверьте публичную страницу.
Яндекс SmartCaptcha — внешний сервис со своими условиями и тарифами. При использовании браузер загружает его скрипт, а сервер проверяет токен через сервис Яндекса. Включайте интеграцию после настройки ключей и правил обработки данных на своём сайте.
Персональные данные
Перед отправкой посетитель подтверждает согласие. Укажите действующую страницу политики сайта. В журнале сохраняются введённые контакты, ответы, согласие и контекст обращения. Ограничьте доступ к журналу рабочими группами.
Включённое по умолчанию обезличивание обрабатывает старые заявки; исходный срок — 180 дней. Срок и активность настраиваются в модуле, выполнение зависит от работы агентов Bitrix. Обезличивание удаляет контакты и ответы произвольных полей из заявки.
Границы обезличивания и удаления
Журнал заявок, заказ Bitrix, связанный инфоблок, доставленные письма и резервные копии — разные хранилища. Обезличивание записи журнала не следует считать удалением всех этих копий. Учитывайте их в собственном порядке хранения данных. Удаление определения формы сохраняет обращения; удаление модуля предлагает отдельный выбор сохранения данных.
Установка
Перед установкой
Нужны PHP 8.2 и Bitrix с модулями main 23.0+, iblock, catalog и sale. Для товарных форм настройте каталог, цены и предложения, для заказа — интернет-магазин. Сделайте резервную копию файлов и базы.
- Установите «Квэлп: Всплывающие формы» через раздел Marketplace административной панели Bitrix.
- Откройте «Квэлп → Всплывающие формы», задайте права групп, настройки и получателей писем.
- Разместите форму и проверьте публичную страницу, заявку и письмо.
Пути и несколько сайтов
Полная поставка рассчитана на общие пути /bitrix/modules/qwelp.popups/, /bitrix/components/qwelp/popup.form/, /bitrix/js/qwelp/popups/ и собственные страницы /bitrix/admin/qwelp_popups_*.php. На втором сайте используется общий Bitrix; общий каталог /local/ не требуется.
Клиент может держать собственные переопределения в /local/. Они имеют приоритет перед общей поставкой: при различии поведения проверьте активную копию компонента, расширения и шаблона. Не удаляйте и не переносите клиентские копии автоматически.
Обновление и удаление
Перед обновлением сохраните резервную копию и проверьте собственные шаблоны. Если установщик сообщает о конфликте файлов, сравните изменения с владельцем сайта; не заменяйте файлы вслепую. При удалении включите сохранение данных, если нужны заявки и настройки для повторной установки. Отключайте сохранение только для осознанного удаления собственных данных модуля.
Проверка после установки
Откройте документацию и форму на каждом сайте. Проверьте русскую и английскую версии, загрузку стилей и скриптов, права просмотра и изменения, повторное открытие окна, обычный кеш и Композит. При переносе со старой разработки в /local/ отдельно согласуйте активную копию: установка не должна молча мигрировать клиентские файлы.
Справка и проверка
| Параметр компонента | Значение |
|---|---|
FORM_CODE | Код формы. По умолчанию callback. Для произвольной формы используйте сохранённый код. |
BUTTON_TEXT | Текст кнопки. Пустое значение берёт название формы. |
PRODUCT_ID | Положительный ID товара для товарных форм; для обычной формы — 0. |
OFFER_ID | ID предложения для заказа, если требуется; иначе 0. |
| Шаблон | .default использует настройку формы. Доступны callback, oneclick, cheaper, gift, accessory, review и собственные копии. |
Форма не открывается
- Проверьте активность, код и сайт формы.
- Проверьте подключение расширения
qwelp.popupsи отсутствие ошибок загрузки JS/CSS. - Для товарной формы проверьте доступность товара и права на каталог; для отзыва — авторизацию посетителя.
- Проверьте активное переопределение в
/local/и путь своего шаблона.
Проверить перед открытием посетителям
- Пустые обязательные поля, неверный email, отказ CAPTCHA и отсутствие согласия показывают понятную ошибку.
- Повторное открытие, две кнопки на странице и вставка через AJAX не создают дублирующих окон.
- После прогрева кеша смена настроек и выключение формы учитываются при следующем открытии.
- На узком экране и с клавиатурой закрытие и отправка доступны, фон страницы не прокручивается.
- Сохранение параметров редактором без изменений и с новым текстом кнопки сохраняет рабочий вывод.
- На втором сайте используются назначенные ему форма, настройки и почтовые шаблоны.
Поддержка: обращение разработчику через карточку решения в Marketplace. Приложите версию модуля, PHP и Bitrix, код формы, шаги и обезличенный текст ошибки. Пароли, ключи, cookies и данные посетителей не отправляйте.
Сверено с документацией модуля 11.10.2026. Примеры PHP предназначены для вашего сайта на 1С-Битрикс.