eCommSender

Компонент для отправки данных в сервисы электронной коммерции.
Автор дополнения
Артур Шевченко
Пакетов
11
Закачек
3 106
Обычно отвечает в течение суток
Автор дополнения
Пакетов
11
Закачек
3 106
Обычно отвечает в течение суток
Версия 1.0.0-beta9
Дата выпуска 13.09.2025
Загрузки 1
Просмотры 1 322
Внимание, этот компонент несовместим с MODX 3.
Зависимости:
1. UniversalEventBus

Как пользоваться:
1. Создать копию файла core/components/ecommsender/services/config.inc.php и изменить параметры
* templateIds — содержит массив id шаблонов ключевых страниц (корзина, форма заказа, страница благодарности)
* chunks — содержит массив шаблонов структуры данных для различных событий
* payedStatuses — содержит массив, где ключами являются id способов оплаты, а значениями — id статусов
* paymentKeyParams — содержит массив, где ключами являются id способов оплаты, а значениями — параметр в ссылке на оплату содержащий ключ оплаты
* counterId — id счетчика метрики (актуально только при использовании Яндекс метрики).
* measurementProtocolToken — токен для передачи события purchase в случае невозврата пользователя на сайт
после оплаты (актуально только при использовании Яндекс метрики).

2. Указать путь к вашему файлу конфигурации в системных настройках.
3. Установить код метрики на сайт.

После этого будут доступны следующие события:
* click
* detail
* add
* remove
* view_cart
* initiate_checkout
* order_created
* dl_purchase
* purchase

!!! ВАЖНО!!! События dl_purchase и purchase являются взаимоисключающими,
т.е. если было отправлено одно из них, второе отправлено не будет.

Для отслеживания событий просмотра списка товаров (impressions) необходимо каждому списку добавить следующие атрибуты:
* data-ecs-list
* data-ueb-event=«show»
* data-ueb-once=«1»

Для отслеживания просмотра миникорзины, если она у вас сделана в модальном окне, нужно добавить следующие атрибуты:
* data-ueb-event=«open»
* data-ueb-params=«eventName:ecsViewMiniCart»
И добавить в системные настройки селектор открытой миникорзины.

Для отслеживания открытия окна быстрого заказа нужно добавить следующие атрибуты:
* data-ueb-event=«open»
* data-ueb-params=«eventName:ecsFastOrderWithCart»
И добавить в системные настройки селектор открытого окна быстрого заказа.

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

Системные события:
1. OnGetEcsWebConfig — можно добавить свои параметры в веб-конфиг
$object->webConfig['paramName'] = 'paramValue';
2. OnGetEcsHandleEvent — для обработки кастомных событий, можно вернуть массив с данными для добавления в dataLayer
$object->output = ['eventName' => 'eventName', 'eventData' => 'eventData'];

Для внесения изменений в имеющиеся события (click, detail и т.д.) корректируйте содержимое чанков, предварительно скопировав их.

1.0.0-beta9

  • Мелкие правки.
  • Добавил явную передачу контекста в плагин-наблюдатель за событиями.

1.0.0-beta7

  • Добавил очистку localstorage при отмене редиректа.
  • Добавил проверку на ajax при событии ecsOnLoadWebDocument.
  • Добавил событие page_view при просмотре НЕтовара.
  • Добавил редирект даже если событие order_created не отслеживается
  • Добавил опциональную цепочку при доступе к e.detail?.data?.pushed

1.0.0-beta6

  • Переместил создание экземпляра класса eCommSender из обработчика события DOMContentLoaded.

1.0.0-beta5

  • Сделал вызов редиректа постоянным.

1.0.0-beta4

  • Поменял имя события для обработки данных возвращаемых из события.
  • Поменял порядок формирования данных в плагине подготовки ответа.

1.0.0-beta3

  • Добавил проверку наличия файла конфигураци.
  • Добавил события JS 'ecommsender:click' и 'ecommsender:getlistdata'
  • Уточнил данные зааписываемые в localstorage responseOrder

1.0.0-beta2

  • Добавил в конфигурацию параметр clientIdKey для передачи ключа клиента.
  • Добавил в конфигурацию параметр savedCookiesOnCreatingOrder для передачи ключей кук которые необходимо записать в свойства заказа.

1.0.0-beta

  • Первая сборка.

Последние обсуждения в сообществе MODX.pro