【问题标题】:Is there any other way to get datalayer from Prestashop?有没有其他方法可以从 Prestashop 获取数据层?
【发布时间】:2019-07-08 20:28:50
【问题描述】:

我正在尝试让 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”,而对于其他所有内容 - “未定义的索引:产品/试图获取非对象的属性”。 也许我在索引/结帐页面脚本中遗漏了一些东西?

【问题讨论】:

  • 其他页面上是否存在 $product,包含相关的产品数据?
  • @kgrg 我如何检查它?在控制器中?

标签: prestashop google-tag-manager google-datalayer


【解决方案1】:

我想这是因为 $product 仅在产品页面上可用。

您希望在 index 上使用 $product 得到什么? 对于结帐,您应该使用基于购物车的东西。直接使用 $product 不会给您任何结果。

【讨论】:

  • 我正在尝试在 GTM 增强型电子商务的索引和类别页面上获取产品名称、价格和 ID
  • 你想获得畅销书/折扣/主页特色标签的这些信息吗?
猜你喜欢
  • 2020-02-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-15
  • 1970-01-01
  • 1970-01-01
  • 2022-01-10
  • 1970-01-01
相关资源
最近更新 更多