我想添加产品ID和价格到谷歌标签管理器在OXID。有什么简单的方法吗?
我想我可以编辑这里建议的代码:List of multiple products into php datalayer,但我对oxid代码太陌生了。
举个例子,下面是我尝试过的:
<script>
dataLayer = [{
'product': '$oView->getProduct()',
'price': 'various-price-variables'
}];
</script>此外:$oViewConf->getActArticleId()或oxArticle和其他变体。很明显这些都不起作用。任何帮助都将不胜感激。
发布于 2019-11-21 12:51:57
您不能简单地将服务器端智能变量传递给客户端javascript,因为smarty是在浏览器接收html之前呈现的。Smarty试图在那里输出oxArticle对象的字符串表示,但据我所知,oxArticles没有__toString()方法。
你有两种可能:
var product = {
'name': '[{$oArticle->oxarticles__oxtitle->value}]',
'id': '[{$oArticle->oxarticles__oxartnum->value}]',
'price': [{$oArticle->oxarticles__oxprice->value}]
};var product = [{$oArticle|json_encode}];进行json_encode,但这可能会暴露一些通常不希望人们看到的产品数据,比如购买价格或实际股票。您只获得存储在数据库中的信息,而不是像实际价格(包括当前折扣或产品url.)这样经过计算的信息。
此外,欢迎您查看我的标记管理器模块:https://github.com/vanilla-thunder/oxid-module-tag-manager。
https://stackoverflow.com/questions/58973369
复制相似问题