Внимание! Полная работоспособность модуля гарантирована на штатном функционале 1С-Битрикс старше 18.5.100.
Для корректной работы модуля рекомендуем использовать ядро D7 при изменении объектов корзины и заказа.
Также при интеграции модуля Mindbox с сайтами, на которых используются кастомные системные компоненты вместо стандартных, могут потребоваться доработки. Список компонентов, с которыми проверена корректная работа модуля:
- Системные компоненты авторизации bitrix:system.auth.form, bitrix:system.auth.authorize
- Системный компонент регистрации bitrix.system.auth.registration
- Системный компонент профиля пользователя bitrix:main.profile
- Системный компонент корзины bitrix:sale.basket.basket
- Системный компонент оформления заказа bitrix:sale.order.ajax
- Операции реализованы через системные события 1С-Битрикс. На следующие события будут навешаны обработчики:
Операция | Событие | Обработчик |
---|---|---|
AuthorizeCustomer | OnAfterUserAuthorize | OnAfterUserAuthorizeHandler |
RegisterCustomer | OnBeforeUserRegister | OnBeforeUserRegisterHandler |
RegisterCustomer | OnAfterUserRegister | OnAfterUserRegisterHandler |
EditCustomer | OnBeforeUserUpdate | OnBeforeUserUpdateHandler |
BeginUnauthorizedOrderTransaction, BeginAuthorizedOrderTransaction, RollbackOrderTransaction | OnSaleOrderBeforeSaved | OnSaleOrderBeforeSavedHandler |
CommitOrderTransaction, SaveOfflineOrder, CreateAuthorizedOrder, CreateUnauthorizedOrder | OnSaleOrderSaved | OnSaleOrderSavedHandler |
SetCart | OnSaleBasketSaved | OnSaleBasketSavedHandler |
CalculateAuthorizedCart, CalculateUnauthorizedCart | OnBeforeSaleOrderFinalAction | OnBeforeSaleOrderFinalActionHandler |
SetWishList | OnSaleBasketItemRefreshData | OnSaleBasketItemRefreshDataHandler |
RegisterCustomer | OnBeforeUserAdd | OnBeforeUserAddHandler |
RegisterCustomer | OnAfterUserAdd | OnAfterUserAddHandler |
Подключение кода трекера | OnProlog | OnPrologHandler |
Подключение кода модуля глобально | OnBeforeProlog | OnBeforePrologHandler |
UpdateOrderItems | OnSalePropertyValueSetField | OnSalePropertyValueSetFieldHandler |
UpdateOrderItems | OnSaleBasketItemEntitySaved | OnSaleBasketItemEntitySavedHandler |
UpdateOrderItems, UpdateOrderItemsStatus | OnSaleBasketItemDeleted | OnSaleBasketItemEntityDeletedHandler |
UpdateOrderStatus | OnBeforeSaleShipmentSetField | OnBeforeSaleShipmentSetFieldHandler |
UpdateOrderStatus | OnSaleStatusOrder | OnSaleStatusOrderHandler |
UpdateOrderStatus | OnSaleCancelOrder | OnSaleCancelOrderHandler |
Возможность списания бонусов в администранивной части | OnAdminSaleOrderEdit | OnAdminSaleOrderEditHandler |
Исходный код всех обработчиков можно посмотреть в этом файле: /bitrix/modules/mindbox/lib/Event.php
- Созданы агенты
Агент | Описание |
---|---|
Агент выгрузки каталога | Данный агент служит для выгрузки товаров и их торговых предложений в xml формате. Обращается к функции \Mindbox\YmlFeedMindbox::start(); |
Агент очереди | Данный агент служит для отправки запросов к Mindbox, добавленных в очередь запросов. Обращается к функции \Mindbox\QueueTable::start(); |
Примечание:
- Для проектов с большим каталогом рекомендуется перевести выгрузку каталога на крон.
- Название сайта и компании в выгрузке берется из поля "Название веб-сайта" в настройках сайта.
Пример скрипта
<?php
$_SERVER["DOCUMENT_ROOT"] = realpath(dirname(__FILE__) . "/../../"); // путь к вашему DOCUMENT_ROOT
$_SERVER["SERVER_NAME"] = "mysite.com"; // url вашего сайта без указания протокола
require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_before.php");
use Bitrix\Main\Loader;
use Bitrix\Main\LoaderException;
use Mindbox\YmlFeedMindbox;
try {
if (!Loader::includeModule('mindbox.marketing')) {
die();
}
} catch (LoaderException $e) {
die();
}
YmlFeedMindbox::start();
Исходный код классов, с которыми работают агенты, можно посмотреть в следующих файлах: /bitrix/modules/mindbox/lib/YmlFeedMindbox.php
, /bitrix/modules/mindbox/lib/QueueTable.php
- Созданы пользовательские поля:
Поле | Описание |
---|---|
UF_MINDBOX_ID | Строковое поле предназначено для хранения id пользователя в mindbox. |
UF_PHONE_CONFIRMED | Поле чекбокс предназначено для хранения информации о подтверждение пользователем телефона в mindbox. Данным полем можно воспользоваться для вывода подтверждения телефона в Вашем компоненте персональных данных. |
UF_EMAIL_CONFIRMED | Поле чекбокс предназначено для хранения информации о подтверждение пользователем email в mindbox. Данным полем можно воспользоваться для вывода подтверждения email в Вашем компоненте персональных данных. |
- Созданы свойства заказа:
Поле | Описание |
---|---|
MINDBOX_BONUS | Строковое поле предназначено для хранения количества бонусов. |
MINDBOX_PROMO_CODE | Строковое поле предназначено для хранения промокода. |
- Создан Highload-блок "Mindbox" с полями:
Поле | Описание |
---|---|
UF_BASKET_ID | Числовое поле (целое число) предназначено для хранения идентификатора товара в корзине. |
UF_DISCOUNTED_PRICE | Числовое поле предназначено для хранения финальной цены на товар. |
- Интегрируем компоненты
catalog.tracking
модуля mindbox. Компоненты и их шаблоны находятся в директории -/bitrix/components/mindbox
- Интегрируем компоненты
catalog.tracking
модуля mindbox. При необходимости интегрируем остальные компоненты модуля. Компоненты и их шаблоны находятся в директории -/bitrix/components/mindbox
- При необходимости проводим кастомизацию шаблонов и стилей компонентов для сохранения корпоративного стиля Вашего сайта. Файлы стилей -
/bitrix/css/mindbox
, js скрипты -/bitrix/js/mindbox
, Изображения -/bitrix/images/mindbox
- В стандартных шаблонах компонентов модуля подключается jQuery 1.8.3. Если на сайте используется более новая версия jQuery, рекомендуется копировать стандартные шаблоны компонентов и убрать из них подключение jQuery.
CJSCore::Init(array('jquery'));
1. auth.sms - Компонент авторизации пользователя по телефону
Параметр компонента | Описание | Значение по умолчанию |
---|---|---|
PERSONAL_PAGE_URL | URL личного кабинета, на которую будет совершен редирект после успешной авторизации. | / |
FILLUP_FORM_FIELDS | Поля в форме дозаполнения данных. Возможные поля NAME, LAST_NAME, EMAIL, MOBILE_PHONE, PASSWORD, BIRTH_DATE, GENDER | Поля отсутствуют |
2. bonus.history - Компонент выводит историю бонусных баллов mindbox.
Параметр компонента | Описание | Значение по умолчанию |
---|---|---|
PAGE_SIZE | Количество элементов на странице. | 5 |
3. cart - Компонент корзины(промокоды и бонусы). Позволяет применять бонусы и промокоды к товарам в корзине.
Параметр компонента | Описание | Значение по умолчанию |
---|---|---|
USE_BONUSES | Использование бонусов. Если этот параметр равен N, то покупатель сможет использовать только промокоды. | Y |
4. catalog.tracking - Данный компонент реализует обертку над Mindbox JavaScript SDK.
После подключения данного компонента можно отправлять данные о просмотре товаров и категорий каталога в mindbox.
Для этого используются 2 функции:
mindboxViewCategory
Пример вызова в шаблоне компонента bitrix:catalog
<?php $APPLICATION->IncludeComponent('mindbox:catalog.tracking', '', []);?>
<script>
mindboxViewCategory('<?=!empty($arCurSection['XML_ID']) ? $arCurSection['XML_ID'] : $arCurSection['ID']?>');
</script>
mindboxViewProduct
Пример вызова в шаблоне компонента bitrix:catalog.element
<?php
$APPLICATION->IncludeComponent('mindbox:catalog.tracking', '', []);
?>
<script>
mindboxViewProduct('<?=!empty($arResult['OFFERS'][0]['XML_ID']) ? $arResult['OFFERS'][0]['XML_ID'] : $arResult['OFFERS'][0]['ID']?>');
</script>
Важно: после подключения компонента необходимо убедиться, что id товаров и категорий, передаваемых в операциях, совпадают с id в товарном фиде.
5. discount.card - Компонент привязки дисконтной карты.
Параметр компонента | Описание | Значение по умолчанию |
---|---|---|
PERSONAL_PAGE_URL | URL личного кабинета, на которую будет совершен редирект после успешного привязывания карты. | / |
6. email.confirm - Компонент подтверждения email в mindbox.
ВАЖНО: Компонент необходимо расположить на странице редактирования персональных данных пользователя.
7. order.history - Компонент выводит историю заказов mindbox.
Параметр компонента | Описание | Значение по умолчанию |
---|---|---|
PAGE_SIZE | Количество элементов на странице. | 5 |
8. phone.confirm - Компонент подтверждения телефона в mindbox.
9. sub.edit - Компонент управления подписками зарегистрированных и авторизованных пользователей.
10. subscription - Компонент подписки на email рассылку, как для зарегистрированных, так и для анонимных пользователей.