Перейти к основному содержимому

Установка и настройка

Установить модуль можно двумя способами:

  • Со страницы Marketplace — нажмите зелёную кнопку «Установить» на странице модуля и следуйте инструкции на стороне 1С-Битрикс Marketplace.
  • Из административной панели сайта — перейдите в Настройки → Настройки продукта → Marketplace → Каталог решений, введите в поиске Octopus CDP Popup, откройте карточку модуля и нажмите «Установить бесплатно».

Битрикс автоматически скачает и установит модуль. Таблица в базе данных и обработчик событий создаются без дополнительных действий.

💡 Совет: Если в каталоге решений модуль не находится, проверьте, что на сайте активна актуальная редакция 1С-Битрикс и установлен модуль Marketplace (bitrix.marketplace). etplace`).


Где находится модуль

После установки в административной панели появится раздел Маркетинг → Всплывающие олкна - Попапы. Здесь находится список всех созданных окон с возможностью сортировки, групповой активации и удаления.


Создание попапа

Нажмите «+ Добавить попап» — откроется форма с двумя вкладками: «Шаблон», «Условия» и «АНалитика» .

Вкладка «Шаблон»

ПараметрОписание
НазваниеВнутреннее название попапа — отображается только в админке
HTML-кодСодержимое модального окна (см. раздел «Как составить шаблон» ниже)

Вкладка «Условия»

ПараметрВариантыОписание
Попап активенЧекбоксВключает или отключает показ попапа на сайте
Задержка показаЧисловое значение (сек)Через сколько секунд после загрузки страницы показать окно
Процент прокрутки0–100%Минимальный процент прокрутки страницы перед показом
Просмотрено страницЧисловое значениеМинимальное число страниц, просмотренных за сессию браузера
Правила по URLТочные URL или маскиНа каких страницах показывать окно
УстройстваДесктоп / планшет / мобильныйТипы устройств, на которых будет показан попап
Повторный показ• Один раз за сессию
• Через N минут/часов/дней
• Всегда
• Никогда
Частота повторного показа одному и тому же посетителю

После заполнения вкладок нажмите «Сохранить» — попап начнёт показываться на сайте согласно заданным условиям.

💡 Совет: Условия складываются по «И» — все одновременно. Если задана и задержка, и процент прокрутки, окно появится только когда выполнены оба условия.


Как составить шаблон

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

Рекомендации

  • Инлайн-стили — используйте style="..." прямо на элементах, чтобы исключить конфликты со стилями сайта.
  • Закрытие окна — любой элемент с атрибутом data-close закрывает попап по клику. Достаточно повесить его на кнопку «×» или фоновую область.
  • Уникальные id и классы — давайте элементам имена с префиксом (например, popup_), чтобы не пересекаться с разметкой страницы.
  • Скрипты работают — теги <script> внутри шаблона выполняются корректно. В них удобно делать валидацию полей, отправку формы и показ сообщения об успехе.

💡 Совет: После отправки формы скройте поля и покажите блок «Спасибо!» — этот приём делает попап ощутимо аккуратнее любого штатного alert().


Обработка формы

Сам модуль форму не обрабатывает — он только показывает HTML. Логику отправки вы задаёте внутри шаблона. Есть два пути.

Вариант 1. PHP-обработчик на стороне 1С-Битрикс

Большинство магазинов на 1С-Битрикс обрабатывают формы своим серверным скриптом: данные уходят AJAX-запросом в PHP-файл, который средствами Битрикса отправляет письмо (CEvent::Send), создаёт лид в CRM или пишет в инфоблок.

Создайте файл, например /local/ajax/popup_subscribe.php:

<?php
define('STOP_STATISTICS', true);
require($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/prolog_before.php');

use Bitrix\Main\Context;
use Bitrix\Main\Web\Json;

header('Content-Type: application/json; charset=utf-8');

$request = Context::getCurrent()->getRequest();
$name = trim((string)$request->getPost('NAME'));
$email = trim((string)$request->getPost('EMAIL'));

if ($name === '' || !check_email($email)) {
echo Json::encode(['status' => 'error']);
die();
}

// Отправка письма через стандартный почтовый шаблон Битрикс.
// Тип почтового события (здесь FEEDBACK_FORM) и шаблон письма
// должны существовать в Настройки → Настройки продукта → Почтовые события.
CEvent::Send('FEEDBACK_FORM', SITE_ID, [
'AUTHOR' => $name,
'AUTHOR_EMAIL' => $email,
'TEXT' => 'Подписка через всплывающее окно',
]);

echo Json::encode(['status' => 'ok']);
die();

В шаблоне попапа отправьте данные на этот файл:

fetch('/local/ajax/popup_subscribe.php', {
method: 'POST',
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
body: 'NAME=' + encodeURIComponent(name) + '&EMAIL=' + encodeURIComponent(email)
})
.then(function (r) { return r.json(); })
.then(function (data) {
if (data.status === 'ok') {
// скрыть поля и показать блок «Спасибо!»
}
})
.catch(function () { /* ошибка сети */ });

Вместо CEvent::Send в обработчике можно использовать любой привычный способ: создание лида в CRM (CCrmLead::Add), запись в инфоблок или передачу данных в стороннюю систему.

Вариант 2. Интеграция с Octopus CDP

Если магазин подключён к Octopus CDP, форму можно не заводить на сервере — достаточно вызвать oct_goal(). Метод фиксирует цель и обновляет профиль клиента переданными полями:

window.oct_goal('degustatsiipopup', {
update: {
NAME: name,
EMAIL: email
}
});

где degustatsiipopup — код цели из настроек Octopus CDP.

💡 Совет: Подробнее о создании цели в Октопус CDP — в разделе Цели.