Кто нибудь настраивал Яндекс Метрику для электронной коммерции?
Подскажите как делать, что править?
Может плагин какой есть?
https://yandex.ru/su..._ecommerce-data
Сообщение отредактировал Никола: 20 December 2018 - 14:35
 
	 
					
				
				
				
					
				
			
				
			Отправлено 20 December 2018 - 14:32
Кто нибудь настраивал Яндекс Метрику для электронной коммерции?
Подскажите как делать, что править?
Может плагин какой есть?
https://yandex.ru/su..._ecommerce-data
Сообщение отредактировал Никола: 20 December 2018 - 14:35
 
					
				
				
				
					
				
			
				
			Отправлено 12 November 2019 - 07:46
Тоже интересует эта тема.
 
					
				
				
				
					
				
			
				
			Отправлено 12 November 2019 - 17:45
Да настраивали, mmth (немо) - но не прям все можно сделать - но делали часть)
  JBZoo чат  /
 JBZoo чат  /  Разработка Joomla расширений и т.д.! / Рекомендую хостинг Joomla
 Разработка Joomla расширений и т.д.! / Рекомендую хостинг Joomla
 Joomla расширение для Яндекс Турбо и Яндекс Дзен - помощь в настройке
 Joomla расширение для Яндекс Турбо и Яндекс Дзен - помощь в настройке   
       
 
					
				
				
				
					
				
			
				
			Отправлено 13 November 2019 - 05:03
Вот что у меня получилось в итоге:
\media\zoo\applications\jbuniversal\templates\catalog\basket-success.php:
 
// Для электронной коммерции Яндекс.Метрика 
/** @var JBCartOrder $order */
//$order = $view->order;
$order = $this->order;
 
$setCurrency = 'RUB';
$total = $order->getTotalSum()->convert($setCurrency);
$rates = $total->getCurList();
$rate = $order->val('1', 'usd'); // 1 у.е относительно доллара (должен быть настроен в валютах!)
 
$yaParams = array(
    'id'      => $order->id, // ID заказа
    'revenue'   => $total->val(), // Сумма заказа
    'currency'      => strtoupper($total->cur()),
    'exchange_rate' => $rate->val($setCurrency),
    'products'         => array(),
);
 
$cartItems = $order->getItems(false);
foreach ($cartItems as $cartItem) {
    $itemPrice = $order->val($cartItem->get('total'))->convert($setCurrency);
    $_item = $this->app->table->item->get($cartItem->get('item_id'));
    $parentCat = $_item->getPrimaryCategory()->name;
    $yaParams['products'][] = array(
        'id'       => $cartItem->get('item_id'), // или артикул $cartItem->find('elements._sku')
        'brand'    => $cartItem->find('elements._sku'), 
        'name'     => $cartItem->get('item_name'),
        'price'    => $itemPrice->val(),
        'quantity' => $cartItem->get('quantity', 1),
        'category' => $parentCat,
    );
}
// echo json_encode($yaParams,JSON_UNESCAPED_UNICODE);
// Для электронной коммерции Яндекс.Метрика 
?>
<!-- Yandex.Metrika ecommerce -->
			<script type="text/javascript">
			//	JSON.stringify(dataLayer,null,'\t'); в консоли браузера
      
      var yaParams = <?php echo json_encode($yaParams,JSON_UNESCAPED_UNICODE | JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT); ?>;
						
			window.dataLayer = window.dataLayer || [];
      
      dataLayer.push({
      "ecommerce": {
          "purchase": {
              "actionField": {
                  "id" : String(yaParams["id"]),
                  "revenue" : yaParams["revenue"],
                  "goal_id" : "ID своей цели из Метрики"
              },
              "products": yaParams["products"]
          }
      }
    });
      
      </script>
<!-- Yandex.Metrika ecommerce -->   
\media\zoo\applications\jbuniversal\templates\Ваш-шаблон\renderer\item\full.php
<?php 
$w_id = $item->id;
$name = $item->name;
//$price = $this->renderPosition('price');
$cat = $item->getPrimaryCategory()->name;
?>
<!-- Yandex.Metrika ecommerce -->
            <script type="text/javascript">
            //  JSON.stringify(dataLayer,null,'\t'); в консоли браузера
            window.dataLayer = window.dataLayer || [];
            dataLayer.push({
                "ecommerce": {
                    "detail": {
                        "products": [
                            {
                                "id": "<?=$w_id;?>",
                                "name" : "<?=$name;?>",
                                "price": "",
                                "brand": "",
                                "category": "<?=$cat;?>"
                            }
                        ]
                    }
                }
            });
            </script>
<!-- Yandex.Metrika ecommerce -->  
Сообщение отредактировал demfi: 13 November 2019 - 05:05