Яндекс метрика. Электронная коммерция. v1.4

  • Автор темы yurik8383
  • 64
  • Обновлено
  • 16, Apr 2023
  • #1
Версия для OpenCart 1.5.x и OpenCart 2.1.x




https://opencartforu...aya-kommerciya/

Описание:

Дополнение служит для отправки данных о действиях пользователей с товарами в яндекс метрику.

Ecommerce - составляющая Метрики позволяет отслеживать большее количество данных и предоставляет значительно более совершенные инструменты для их анализа.

Например вы сможете узнать пользователи из какого источника покупают на большую сумму или какие товары добавляют чаще в корзину.

Возможности:

Поддерживаются следующие действия:

1. Добавление в корзину

2. Удаление из корзины

3. Просмотр товара

4. Оформление заказа

Требования:

1. Требуется чтобы на сайте была установлена яндекс метрика с включенной опцией "Отправка в Метрику данных электронной коммерции"

2. Контейнер для сбора данных dataLayer (по умолчанию).

https://yandex.ru/su.../e-commerce.xml

Установка ver 1.5:

VQMod:

1. Распаковать содержимое upload в корень сайта

2. Открыть файл catalog/view/javascript/common.js, найти функцию addToCart, после "$('html, body').animate({ scrollTop: 0 }, 'slow');" добавить addYandexEcommerce(json);

Вручную:

1. Внести изменения в код согласно upload/vqmod/xml/yandex_metrika_ecommerce.xml

2. Открыть файл catalog/view/javascript/common.js, найти функцию addToCart, после "$('html, body').animate({ scrollTop: 0 }, 'slow');" добавить addYandexEcommerce(json);

Возможны проблемы с установкой через VqMod при использовании нестандартной темы(не default).

Тестировалось на версии opencart 1.5.6.2.

Установка ver 2.1:

OCMod:

1. Установить дополнение через админку Дополнения->Установка дополнений.

После установки нажать кнопку "Обновить" в разделе "Менеджер дополнений"

2. Открыть файл catalog/view/javascript/common.js, найти функцию cart.add, после "if (json['success']) {" добавить 'sendYandexEcommerce(json, "add");'

3. Открыть файл catalog/view/javascript/common.js, найти функцию cart.remove, после "success: function(json) {" добавить 'sendYandexEcommerce(json, "remove");'

Вручную:

1. Внести изменения в код согласно yandex_metrika_ecommerce.ocmod.xml

2. Открыть файл catalog/view/javascript/common.js, найти функцию cart.add, после "if (json['success']) {" добавить 'sendYandexEcommerce(json, "add");'

3. Открыть файл catalog/view/javascript/common.js, найти функцию cart.remove, после "success: function(json) {" добавить 'sendYandexEcommerce(json, "remove");'

Тестировалось на версии opencart 2.1.0.1

На 2.3 работает со следующими правками в ocmod

На 2.3 работает со следующими правками в ocmod

Строка:

$data["metrika_product_price"] = $this->currency->format($this->tax->calculate($product_info['special'], $product_info['tax_class_id'], $this->config->get('config_tax')),'','',false);

Заменить на:

$data["metrika_product_price"] = $this->currency->format($this->tax->calculate($product_info['special'], $product_info['tax_class_id'], $this->config->get('config_tax')), $this->session->data['currency'],'',false);

Строка:

$data["metrika_product_price"] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax')),'','',false);

Заменить на:

$data["metrika_product_price"] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax')), $this->session->data['currency'],'',false);

Строка:

"metrika_product_price" => $this->currency->format($order_product["price"]+$order_product['tax'],'','',false),

Заменить на:

"metrika_product_price" => $this->currency->format($order_product["price"]+$order_product['tax'], $this->session->data['currency'],'',false),

Строка:

$json["metrika_product_price"] = $this->currency->format($this->tax->calculate($product_info['special'], $product_info['tax_class_id'], $this->config->get('config_tax')),'','',false);

Заменить на:

$json["metrika_product_price"] = $this->currency->format($this->tax->calculate($product_info['special'], $product_info['tax_class_id'], $this->config->get('config_tax')), $this->session->data['currency'],'',false);

Строка:

$json["metrika_product_price"] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax')),'','',false);

Заменить на:

$json["metrika_product_price"] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax')), $this->session->data['currency'],'',false);

Скрытый контент: (необходимо 5 очков репутации)
https://yadi.sk/d/HK_JY9xI3T6JFCа8f4a01b7

yurik8383


Рег
08 Apr, 2011

Тем
1

Постов
1

Баллов
11
  • 18, Apr 2023
  • #2
Уважаемый

  • Добавьте продажник
  • фото, тк по статистике красиво оформленный пост получает больше стрелочек вверх
 

Tevis89


Рег
28 Aug, 2007

Тем
0

Постов
1

Баллов
1
Тем
49554
Комментарии
57426
Опыт
552966

Интересно