首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为Google标记管理器在数据层中添加OXID产品ID和价格

为Google标记管理器在数据层中添加OXID产品ID和价格
EN

Stack Overflow用户
提问于 2019-11-21 11:00:38
回答 1查看 333关注 0票数 0

我想添加产品ID和价格到谷歌标签管理器在OXID。有什么简单的方法吗?

我想我可以编辑这里建议的代码:List of multiple products into php datalayer,但我对oxid代码太陌生了。

举个例子,下面是我尝试过的:

代码语言:javascript
复制
<script>
  dataLayer = [{
    'product': '$oView->getProduct()',
    'price': 'various-price-variables'
  }];
</script>

此外:$oViewConf->getActArticleId()oxArticle和其他变体。很明显这些都不起作用。任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-21 12:51:57

您不能简单地将服务器端智能变量传递给客户端javascript,因为smarty是在浏览器接收html之前呈现的。Smarty试图在那里输出oxArticle对象的字符串表示,但据我所知,oxArticles没有__toString()方法。

你有两种可能:

  1. 您可以直接将oxArticle属性映射到您需要的数据层变量,如:(注意智能标记周围的单引号以匹配javascript对象属性的数据类型)

代码语言:javascript
复制
var product = {
    'name': '[{$oArticle->oxarticles__oxtitle->value}]',
    'id': '[{$oArticle->oxarticles__oxartnum->value}]',
    'price': [{$oArticle->oxarticles__oxprice->value}]
};

  1. ,您可以对整个$oArticle对象var product = [{$oArticle|json_encode}];进行json_encode,但这可能会暴露一些通常不希望人们看到的产品数据,比如购买价格或实际股票。您只获得存储在数据库中的信息,而不是像实际价格(包括当前折扣或产品url.

)这样经过计算的信息。

此外,欢迎您查看我的标记管理器模块:https://github.com/vanilla-thunder/oxid-module-tag-manager

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58973369

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档