Здравствуйте)
Я в OpenCart только начал работать и имеется задание : интегрировать yandex e-commerce на сайт интернет магазина.
Что для этого понадобилось?
1. Скрипт yandex metrica - я его установил в header.tpl, для загрузки на все страницы сайта | Работает!
2. Полазив форумы и прочее я нашел такой модуль (дополнение) как VQMod, который уже был добавлен на сайт и написал для него xml файл и назвал его yandex_e-commerce.xml, далее загрузил его через VQMod Manager и посмотрел логи ошибок - ошибок не было.
Как известно Yandex E-commerce поддерживает 4 вида скриптов:
1 - Добавление в корзину
2 - Удаление из корзины
3 - Просмотр карточки товара
4 - Оформление заказа
Все эти скрипты срабатывают при определенных действиях.
вот ссылка на доки https://yandex.ru/support/metrika/data/e-commerce.xml
исходя из документации я написал однотипный xml файл с таким кодом:
<modification>
<id>Yandex E-Commerce.</id>
<version>1.0</version>
<vqmver>2.0</vqmver>
<author>autor</author>
<file name="catalog/view/theme/*/template/product/product.tpl">
<operation>
<search position="before"><![CDATA[<?php echo $content_bottom; ?>]]></search>
<add><![CDATA[
<script type=text/javascript">
dataLayer.push({
"ecommerce": {
"detail": {
"products": [
{
"id": '<?php echo $product['product_id]; ?>',
"name" : '<?php echo $product['product_name']; ?>',
"price": '<?php echo $product['product_price']; ?>',
"brand": "Мебель",
"category": '<?php echo $product['product_category']; ?>',
}
]
}
}
});
</script>
]]></add>
</operation>
</file>
<file name="catalog/view/theme/*/template/product/product.tpl">
<operation>
<search position="before"><![CDATA[<?php echo $content_bottom; ?>]]></search>
<add><![CDATA[
<script type=text/javascript">
$('.big').click(function(){
dataLayer.push({
"ecommerce": {
"add": {
"products": [
{
"id": '<?php echo $product['product_id]; ?>',
"name": '<?php echo $product['product_name']; ?>',
"price": '<?php echo $product['product_price']; ?>',
"brand": Мебель",
"category": '<?php echo $product['product_category']; ?>',
"quantity": '<?php echo $product['product_quantity']; ?>'
}
]
}
}
});
});
</script>
]]></add>
</operation>
</file>
</modification>
В поля id - мне нужно получить ID товара который я смотрю
В поле name - имя товара который я смотрю и так далее...
В чем проблема?
Проблема в том что КОД добавляется на сайт НО он не работает то есть не заполняются поля товара для e-commerce
в общем вот что видно в коде сайта после внедрения xml перед выводом "$content_bottom;"
<script type="text/javascript">
dataLayer.push({
"ecommerce":{
"detail": {
"products": [ {
"id": '',
"name" : '',
"price": '',
"brand": " Мебель",
"category": '',
}
]
}
}
});
</script>
<script type="text/javascript">
$('.big').click(function(){
dataLayer.push({
"ecommerce": {
"add": {
"products": [ {
"id": '',
"name": '',
"price": '',
"brand": "Мебель",
"category": '',
"quantity": ''
}
]
}
}
});
});
</script>
Подскажите пожалуйста как сделать отправку данных о товаре в Yandex E-Commerce, ведь код внедряется и расположение после кода Yandex Metrica...
Может я как то не так получаю ID товара и прочие значения?..
Страница на которую это внедряется обычная страница просмотра продукта, где не в общем все продукты или товары магазина а где сама карточка товара с подробной информацией о товаре
Я в OpenCart еще плаваю..