qwelp.popups · Руководство по подключению

Документация

Всплывающие формы: полное руководство по установке, настройке и использованию. Версия 1.0.0.

Начало

Навигация модуля находится в левом меню: «Формы и шаблоны», журнал заявок, «Настройки» и последняя ссылка «Документация». Общие параметры задаются в собственных настройках модуля; штатная страница «Настройки → Настройки продукта → Настройки модулей» содержит только вкладку «Доступ». В карточке формы вкладки сохраняют введённые значения до сохранения. Для примера подключения нажмите «Копировать»; если браузер запрещает доступ к буферу, выделенный код можно скопировать вручную.

Модуль «Квэлп: Всплывающие формы» собирает обращения посетителей, показывает товарные формы и позволяет создавать формы со своими полями. Заявки доступны в административном разделе сайта.

  1. Откройте «Формы и шаблоны». Выберите готовую форму или нажмите «Добавить форму». Укажите сайт, название, поля и адрес получателя, затем сохраните.
  2. В карточке сохранённой формы откройте «Размещение на сайте». Скопируйте готовый пример на PHP-страницу между подключением шапки и подвала. Или добавьте компонент «Qwelp → Всплывающая форма» через редактор страницы.
  3. На сайте откройте форму, заполните поля и отправьте тестовое обращение. Проверьте результат в разделе «Все заявки» и получение письма.

Для первого знакомства подойдёт «Заказать звонок»: товар и настройки заказа для неё не нужны. Заказ в один клик создаёт настоящий заказ, а «Намекнуть о подарке» отправляет письмо указанному получателю — проверяйте эти формы на тестовом сайте с собственными контактами.

Какие формы доступны
ФормаРезультат
Заказать звонокЗаявка с контактами и выбранным способом связи.
Купить в 1 кликЗаказ Bitrix выбранного товара или предложения и запись в журнале.
Нашли дешевле / Подобрать аксессуарОбращение, связанное с товаром.
Намекнуть о подаркеПисьмо получателю и заявка.
Отзыв о магазинеОценка и текст авторизованного посетителя в журнале заявок.
Произвольная формаОбращение с заданными вами полями.

Настройка форм

Создать форму

  1. Откройте «Формы и шаблоны» → «Добавить форму».
  2. Задайте код, например consultation, название и сайт. Код уникален для всей установки: до 20 строчных латинских букв, цифр и подчёркиваний, первый символ — буква.
  3. Добавьте поля, настройте подписи, обязательность, подсказки и порядок. Заполните текст кнопки, сообщение об успешной отправке и адрес получателя.
  4. Сохраните форму и откройте вкладку «Размещение на сайте».

Форма работает только на выбранном сайте и при включённой активности. Удаление формы сохраняет уже полученные заявки. Для стандартной формы сначала выберите нужный сайт: поля, активность и шаблон настраиваются отдельно по сайтам.

Редактор полей

На вкладке «Поля формы» задайте название, код и тип. Флажки «Показывать поле» и «Обязательно» находятся рядом с действиями. Стрелки меняют порядок полей; крайние направления отключены. «Убрать» удаляет поле из редактора, изменения применяются после сохранения формы.

«Дополнительные параметры» раскрывают подсказку и текст ошибки обязательного поля. Заполненные параметры открываются при загрузке; сворачивание сохраняет значения. Для типа «Список» варианты доступны отдельно, по одному на строку. Новые поля имеют то же оформление и доступные флажки.

Тип поляПрименение
Строка / Многострочный текстИмя, тема и описание обращения.
Телефон / 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. Не вставляйте токены сессии и персональные данные в общий кеш. Если компонент находится внутри кешируемого родителя, подключение ресурсов выше должно выполняться и при попадании родителя в кеш.

Проверить после сохранения

Откройте страницу как посетитель, нажмите кнопку, закройте и откройте окно повторно. После изменения параметров редактором проверьте обычный режим и режим правки. Для второго сайта используйте форму, назначенную этому сайту.

Оформление

Общие радиус окна, цвет кнопок и прозрачность фона задаются в настройках модуля. Для собственных полей и оформления скопируйте шаблон компонента.

  1. Добавьте на страницу компонент qwelp:popup.form с нужным исходным шаблоном.
  2. В режиме правки выберите «Копировать шаблон компонента» и создайте свою копию в /local/templates/ваш_шаблон/components/qwelp/popup.form/my_form/.
  3. Измените файлы копии. В параметрах компонента или настройках формы укажите my_form.
  4. Проверьте окно, ошибки, успешную отправку, закрытие и мобильный экран.
ФайлНазначение
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';
    // Добавьте обработчики полей этой формы.
});

Пользовательскую копию храните в шаблоне сайта. Изменения файлов установленного модуля могут привести к конфликту обновления; установщик не должен перезаписывать вашу копию.

Заявки и письма

Обработать обращение

  1. Откройте «Все заявки» или нужный тип формы в меню.
  2. Используйте фильтры и откройте карточку заявки. Здесь находятся контакты, товар, страница обращения и дополнительные ответы.
  3. После обработки измените статус. Для массовой операции отметьте нужные записи и выберите действие.

Права модуля: «Доступ закрыт», «Только просмотр», «Полный доступ». Просмотр не даёт права менять заявки, формы и настройки. Права назначаются группам в настройках модуля; учитывайте, что журнал доступен в пределах назначенного права на модуль.

Настроить письма

  1. В карточке формы задайте адрес получателя.
  2. На вкладке обработки проверьте почтовые события и шаблоны для выбранного сайта. При сохранении формы недостающие почтовые ресурсы создаются автоматически; кнопка создания также доступна отдельно.
  3. При изменении стандартного письма добавьте переменную #FORM_FIELDS#, чтобы получить дополнительные поля.
  4. Отправьте тестовое обращение на свой адрес и проверьте почтовую очередь Bitrix и доставку.
Заявка есть, письма нет

Проверьте адрес получателя, активность почтового шаблона, его привязку к сайту, настройки отправителя и почтового транспорта Bitrix. Успешное сохранение заявки не доказывает доставку письма. Существующие изменённые шаблоны не заменяются автоматически. Для обращения в поддержку укажите код формы, сайт, время теста и текст ошибки без персональных данных посетителя.

Заявка, связанные записи заказа или обратного звонка и письма в очереди сохраняются одной операцией базы данных. При ошибке изменения этой отправки отменяются; для подарка это относится к обоим письмам. Успех означает запись в очередь, доставка зависит от почтового транспорта. Письма администратору содержат REQUEST_ID и REQUEST_URL; старые шаблоны FAQ и обратной связи поддерживаются.

После ошибки сервера CAPTCHA обновляется в текущей форме, введённые поля сохраняются. Если адрес политики не задан, текст согласия отображается законченной фразой без пустой ссылки.

CAPTCHA и данные

CAPTCHA

Каждая форма защищена CAPTCHA. Переключатель в карточке формы выбирает Яндекс SmartCaptcha; если он выключен, используется штатная CAPTCHA Bitrix. Bitrix также используется при запрете внешних запросов или незаполненных ключах Яндекса. Выбор одинаков для отображения и серверной проверки.

  1. В настройках выберите допустимый режим внешних запросов.
  2. Для Яндекс SmartCaptcha укажите клиентский и серверный ключи. Серверный ключ хранится на сервере и не предназначен для HTML страницы.
  3. В карточке формы выберите Яндекс SmartCaptcha или оставьте переключатель выключенным для Bitrix и проверьте публичную страницу.

Яндекс SmartCaptcha — внешний сервис со своими условиями и тарифами. При использовании браузер загружает его скрипт, а сервер проверяет токен через сервис Яндекса. Включайте интеграцию после настройки ключей и правил обработки данных на своём сайте.

Персональные данные

Перед отправкой посетитель подтверждает согласие. Укажите действующую страницу политики сайта. В журнале сохраняются введённые контакты, ответы, согласие и контекст обращения. Ограничьте доступ к журналу рабочими группами.

Включённое по умолчанию обезличивание обрабатывает старые заявки; исходный срок — 180 дней. Срок и активность настраиваются в модуле, выполнение зависит от работы агентов Bitrix. Обезличивание удаляет контакты и ответы произвольных полей из заявки.

Границы обезличивания и удаления

Журнал заявок, заказ Bitrix, связанный инфоблок, доставленные письма и резервные копии — разные хранилища. Обезличивание записи журнала не следует считать удалением всех этих копий. Учитывайте их в собственном порядке хранения данных. Удаление определения формы сохраняет обращения; удаление модуля предлагает отдельный выбор сохранения данных.

Установка

Перед установкой

Нужны PHP 8.2 и Bitrix с модулями main 23.0+, iblock, catalog и sale. Для товарных форм настройте каталог, цены и предложения, для заказа — интернет-магазин. Сделайте резервную копию файлов и базы.

  1. Установите «Квэлп: Всплывающие формы» через раздел Marketplace административной панели Bitrix.
  2. Откройте «Квэлп → Всплывающие формы», задайте права групп, настройки и получателей писем.
  3. Разместите форму и проверьте публичную страницу, заявку и письмо.

Пути и несколько сайтов

Полная поставка рассчитана на общие пути /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_IDID предложения для заказа, если требуется; иначе 0.
Шаблон.default использует настройку формы. Доступны callback, oneclick, cheaper, gift, accessory, review и собственные копии.

Форма не открывается

  1. Проверьте активность, код и сайт формы.
  2. Проверьте подключение расширения qwelp.popups и отсутствие ошибок загрузки JS/CSS.
  3. Для товарной формы проверьте доступность товара и права на каталог; для отзыва — авторизацию посетителя.
  4. Проверьте активное переопределение в /local/ и путь своего шаблона.

Проверить перед открытием посетителям

  • Пустые обязательные поля, неверный email, отказ CAPTCHA и отсутствие согласия показывают понятную ошибку.
  • Повторное открытие, две кнопки на странице и вставка через AJAX не создают дублирующих окон.
  • После прогрева кеша смена настроек и выключение формы учитываются при следующем открытии.
  • На узком экране и с клавиатурой закрытие и отправка доступны, фон страницы не прокручивается.
  • Сохранение параметров редактором без изменений и с новым текстом кнопки сохраняет рабочий вывод.
  • На втором сайте используются назначенные ему форма, настройки и почтовые шаблоны.

Поддержка: обращение разработчику через карточку решения в Marketplace. Приложите версию модуля, PHP и Bitrix, код формы, шаги и обезличенный текст ошибки. Пароли, ключи, cookies и данные посетителей не отправляйте.

Сверено с документацией модуля 11.10.2026. Примеры PHP предназначены для вашего сайта на 1С-Битрикс.