Настройки электронной коммерции - решение [ Максимум]
В АСПРО имеются настройки электронной коммерции, но зачатую со стороны клиента поступает задача внести свои настройки
Для этого необходимо править уже существующие или дописывать свои.
Большая часть редактируется в файле /bitrix/templates/aspro.max/js/main.js
| Событие | Функция |
|---|---|
| Детальная карточка товара | viewItemCounter |
| Добавление в корзину | addBasketCounter |
| Удаление товара из корзины | delFromBasketCounter |
| Покупка | purchaseCounter |
| Покупка в 1 клик | oneClickBuy |
Для проверки, на нужной странице откройте консоль браузера и введите dataLayer, затем кликните Enter
Возможные ошибки/проблемы
При покупке в один клик не передавались данные в массив products
Для этого внесли правки в файл ajax/goals.php
Закоментировали проверку
if($now->getTimestamp() - MakeTimeStamp($arOrder['DATE_INSERT']) <= 60){
$fuserId = \Bitrix\Sale\Fuser::getId();
убрали второй параметр из массива в выборке getlist оставили только 'ORDER_ID' => $ORDER_ID
закоментировали целиком код проверки if(!$arItemsIDs && $userId){…}
Чтобы не посылались данные о заказе на странице оформления
файл main.js в функции orderActions
добавить код между строк if((arMatch = res.order.REDIRECT_URL.match(/ORDER_ID\=[^&=]*/g)) && arMatch.length && (_id = arMatch[0].replace(/ORDER_ID\=/g, '', arMatch[0]))){ и $.ajax({
Если вам нужно добавить дополнительные данные например для пикселя, то в действии purchase на странице благодарности (после оформления заказа) может не подхватится эти данные в таком случае нужно передать данные в виде переменных и получится подобный код