Установка скрипта Retail Rocket
Инструкция по установке на оф. сайте
1. Зарегистрироваться в системе
2. Установить модуль
Маркетплейс модуль Retail Rocket
В процессе установки ввести авторизационные данные.
3. Указать селекторы кнопок добавления товара в корзину
В процессе установки модуля в поле “Данные кнопок” указать селекторы кнопок добавления товара в корзину, каждый новый селектор пишется в новой строке.
Так же это можно сделать после установки в настройках модуля: Сервисы -> Retail Rocket -> Настройки модуля
Формат: <селектор>:<атрибут с идентификатором товара>
Пример:
a.js_buy_btn;data-id
.doAddToCart;data-id
.doOpenFormOneClickBuy;data-id
Велика вероятность, что это решение не заработает и нужно воспользоваться альтернативным вариантом - прописать событие на кнопках в разметке:
-
Для категорий в файл
<SITE_TEMPLATE_PATH>/components/bitrix/catalog.section/.default/template.php
-
Для товаров в файл
<SITE_TEMPLATE_PATH>/components/bitrix/catalog.element/.default/template.php
Пример:
<a onmousedown="try { rrApi.addToBasket(<?=$arResult["ID"]?>) } catch(e) {}">В корзину</a>
4. Указать ссылку на YML файл выгрузки товаров
Для работы сервиса Retail Rocket необходима выгрузка информации о ваших товарах в формате YML. Сгенерировать файл можно средствами 1с-Битрикс, для этого воспользуйтесь профилем Yandex в разделе Магазин → Экспорт данных и сохраните ссылку на полученный файл.
Переходим на страницу настроек модуля в административной части сайта Сервисы → Retail Rocket, устанавливаем ссылку на YML и корзину.
5. Установить компонент Retail Rocket на страницу карточки товара
В файл <SITE_TEMPLATE_PATH>/optovikk/components/bitrix/catalog/catalog/element.php
добавить код:
<?$APPLICATION->IncludeComponent(
"quetzal:tracking.product", "",
Array(
"CARD_PRODUCT_PARAM" => $ElementID
), $component
);?>
6. Установить компонент Retail Rocket на страницу категории товаров
В файл <SITE_TEMPLATE_PATH>/optovikk/components/bitrix/catalog/catalog/section.php
добавить код:
<?$APPLICATION->IncludeComponent(
"quetzal:tracking.category", "",
Array(
"CATEGORY_PAGE_PARAM" => $intSectionID
), $component
);?>
7. Установить компонент Retail Rocket на страницу завершения оформления заказа
В файл <SITE_TEMPLATE_PATH>/components/bitrix/sale.order.ajax/make_order/confirm.php
добавить код:
<?$APPLICATION->IncludeComponent(
"quetzal:tracking.order", "",
Array(
"ORDER_PARAM_TRANSACTION" => $arResult["ORDER_ID"]
), $component
);?>
8. Добавить перехват email адресов
На события отправки форм, в которых есть поля для заполнения email, добавить перехват:
(window["rrApiOnReady"] = window["rrApiOnReady"] || []).push(function() { rrApi.setEmail(<email>); });
Например при оформлении заказа <SITE_TEMPLATE_PATH/components/bitrix/sale.order.ajax/make_order/order_ajax.js>
if (action == 'saveOrderAjax')
{
form = BX('bx-soa-order-form');
if (form) {
form.querySelector('input[type=hidden][name=sessid]').value = BX.bitrix_sessid();
// начало кода перехвата email
var $form = $('#bx-soa-order-form');
var email = $form.find('[name="ORDER_PROP_2"]').val();
(window["rrApiOnReady"] = window["rrApiOnReady"] || []).push(function() { rrApi.setEmail(email); });
// окончание кода перехвата email
}
BX.ajax.submit(BX('bx-soa-order-form'), BX.proxy(this.saveOrder, this));
}