Есть ли другой способ получить слой данных от Prestashop? - PullRequest
0 голосов
/ 08 июля 2019

Я пытаюсь заставить GTM и слой данных работать со следующим кодом:

{if isset($page_name) && $page_name|escape:'html':'UTF-8' == "index"}
           <script>
dataLayer.push({
  'event': 'addToCart',
  'ecommerce': {
    'currencyCode': '{$currency->iso_code|escape:'html':'UTF-8'}',
    'add': {
      'products': [{
        'name': '{$product->name|escape:'html':'UTF-8'}',
        'id': ' {$product->id|escape:'html':'UTF-8'}',
        'price': '{$product->getPrice(true, $smarty.const.NULL, 2)|round:'2'|escape:'html':'UTF-8'}'
        'quantity': 1
       }]
    }
  }
});
</script>
    {/if}

Дело в том, что код работает на странице продукта, но не работает на страницах индекса или извлечения.Из всего этого я получаю только «currencyCode» в индексе, а для всего остального - «Неопределенный индекс: продукт в / Попытка получить свойство необъектного в».Возможно, мне что-то не хватает в скрипте index / checkout pages?

1 Ответ

0 голосов
/ 19 июля 2019

Полагаю, это потому, что $ product доступен только на странице продукта.

Что бы вы хотели получить, используя $ product в индексе? Для оформления заказа вы должны использовать что-то на основе корзины. Непосредственное использование $ product не может дать никаких результатов.

...