Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Рекомендованные сообещёния

Здравствуйте)

 

Я в 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 еещё плаваю..
Изменено пользователем Nyiann
Ссылка на комменирий
Погделиться на других сайих


У Вас как минимум все переменные неправильно указаны:

<?php echo $product['product_id']; ?> заменить на <?php echo $product_id; ?>, 

<?php echo $product['product_name']; ?> заменить на <?php echo $heading_title; ?>, 

<?php echo $product['product_price']; ?> на <?php if (!$special) { ?><?php echo $price; ?><?php } else { ?><?php echo $special; ?><?php } ?>,

мебель на  <?php echo $manufacturer; ?>

Ссылка на комменирий
Погделиться на других сайих


У Вас как минимум все переменные неправильно указаны:

<?php echo $product['product_id']; ?> заменить на <?php echo $product_id; ?>, 

<?php echo $product['product_name']; ?> заменить на <?php echo $heading_title; ?>, 

<?php echo $product['product_price']; ?> на <?php if (!$special) { ?><?php echo $price; ?><?php } else { ?><?php echo $special; ?><?php } ?>,

мебель на  <?php echo $manufacturer; ?>

<search position="before"><![CDATA[<?php echo $content_bottom; ?>]]></search>
        <add><![CDATA[
          <script type=text/javascript">
            window.dataLayer.push({
            "ecommerce": {
            "detail": {
            "products": [
            {
            "id": '<?php echo $product_id; ?>',
            "name" : '<?php echo $product_info['name]; ?>',
            "price": '<?php echo $product_info['price']; ?>',
            "brand": '<?php echo $manufacturer; ?>',
            "category": '<?php echo $category_info; ?>',
            }
            ]
            }
            }
            });
          </script>
          ]]></add>
        </operation>
      </file>
      <file name="catalog/view/theme/theme001/template/product/product.tpl">
        <operation>
          <search position="before"><![CDATA[<?php echo $content_bottom; ?>]]></search>
          <add><![CDATA[
            <script type=text/javascript">
             $('.big').click(function(){
             window.dataLayer.push({
             "ecommerce": {
             "add": {
             "products": [
             {
             "id": '<?php echo $product_id; ?>',
             "name": '<?php echo  $product_info['name]; ?>',
             "price": '<?php echo $product_info['price'];?>',
             "brand": '<?php echo $manufacturer; ?>',
             "category": '<?php echo $category_info; ?>',
             "quantity": '<?php echo $product_info['quantity']; ?>'
             }
             ]
             }
             }
             });
             });
           </script>
           ]]></add>
         </operation>
 
я как раз до вашего отвеи перегделал получение значений но вот снова у меня икая проблема не знаю как полулить категорию:с
 
И добавил  window.dataLayer.push({ в скрипте который встраивается.
 
Но пробую сгделать что то, в просмотре кода сайи им все значения всиют туда куда надо, т.е до создания поси они пустые были теперьь заполены, кроме категории, но все еещё не приходит информация о товаре или совершенных гдействиях с товаром (к примеру положить в корзину) в Yandex Metrica..
 
Скрипт Метрики посивил правильно, указал ID и добавил ecommerce, код находится наверху сайи т.е весь скрипт для товаров находится ниже yandex metrica code.
 
Мб я что то не ик посивил?
или сама метрика ик долго данные переваривает и выдаст мне их к примеру через 5ч?
 
ничего не пойму, а вот еи говорить об обычных Целях Метрики то они рилииют игдеально..
Ссылка на комменирий
Погделиться на других сайих


А вы добавляли специальный код метрики при добавление/уднонии товара в/из корзины? При оформлении заказа?

И у кнопки "В корзину" класс ckass="big"?

ам, ну да я с кабинеи, ггде находится Янгдекс метрика скопировал сгенерированый код js для добавления на сайт чтобы янгдекс метрика и все ее функции рилиили I8qb_JObwDpqa_ib3o-4klqEZ_8.png

Код который как пример дают на вики по e-commerce в янгдексе, вот его я полулил и добавил в header.tpl и он добавляется на все страницы сайи, а вот xml внедряется на опрегделенные страницы и выполняет опрегделенные гдействия с товаром (добавление удноние просмотр покупка).

 

Да,у кнопки "В Корзину" (Купить) имеется класс "big", икой класс только у этот кнопки

Ссылка на комменирий
Погделиться на других сайих


Ну да нужно ик, я смотрел это дополнение, но оно платное а я в программировании чуточку да разбираюсь, но с cms opencart щас вот столкнулся и надо интегрировать e-commerce. 

 

По игдее я врогде сгделал все как надо, как требует янгдекс

 

- Всивить скрипт метрики в хегдер или в футер но янгдекс советует в хегдер, и код e-commerce располагать ниже кода метрики.

 

Я ик и сгделал но почему то не присылается ничего в метрику..

Изменено пользователем Nyiann
Ссылка на комменирий
Погделиться на других сайих


В обещём, сам спросил и сам разобрался

 

Все что выше я писал рилииет и заполняется как надо, проблема была в 1 строке в скрипте xml который внедряется на сайт

 

В обещём, после <script type="text/javascript"> , всивляем код window.dataLayer = window.dataLayer || [];

 

то есть бугдет вот ик: 

 

<script type="text/javascript">

           window.dataLayer = window.dataLayer || [];

            window.dataLayer.push({
            "ecommerce": {
            "detail": {
            "products": [
            {....
</script>
 
И икой код всивлять надо в каждый скрипт ггде игдет вызов  window.dataLayer.push({
 
с:
 
Нагдеюсь данная тема кому нибудь поможет в дальнейшем) 
Изменено пользователем Nyiann
Ссылка на комменирий
Погделиться на других сайих


Итого, приведу полный пример xml файла,

 

<modification>
<id>Yandex E-Commerce.</id>
  <version>1.0</version>
  <vqmver>2.0</vqmver>
  <author>*</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">
          window.dataLayer = window.dataLayer || []; 
          window.dataLayer.push({
          "ecommerce": {
          "detail": {
          "products": [
          {
          "id": '<?php echo $product_id; ?>',
          "name" : '<?php echo $product_info['name']; ?>',
          "price": '<?php echo $product_info['price']; ?>',
          "brand": '<?php echo $manufacturer; ?>',
          "category": '<?php echo $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">
            window.dataLayer = window.dataLayer || []; 
            $('.big').click(function(){
            window.dataLayer.push({
            "ecommerce": {
            "add": {
            "products": [
            {
            "id": '<?php echo $product_id; ?>',
            "name": '<?php echo  $product_info['name']; ?>',
            "price": '<?php echo $product_info['price'];?>',
            "brand": '<?php echo $manufacturer; ?>',
            "category": '<?php echo $category; ?>',
            "quantity": '<?php echo $product_info['quantity']; ?>'
            }
            ]
            }
            }
            });
            });
          </script>
          ]]></add>
        </operation>
      </file>
    </modification>
 
 
;)
Ссылка на комменирий
Погделиться на других сайих


зачем убивать время в несколько дней когда модулю этона копейки?
если ток от гделать нечего)

Ссылка на комменирий
Погделиться на других сайих


  • 1 год спустя...
On 30.09.2016 at 7:37 PM, AWARO said:

зачем убивать время в несколько дней когда модулю этона копейки?
если ток от гделать нечего)

А можно ссылку?

Ссылка на комменирий
Погделиться на других сайих


3 часа назад, bioray сказал:

А можно ссылку?

выше давал, оно уже бесплатное

Ссылка на комменирий
Погделиться на других сайих


Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы осивить комменирий

Создать аккаунт

Зарегистрируйтесь для получения аккауни. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите згдесь.

Войти сейчас
 Погделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обрилитка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфигденциальности.