【问题标题】:Smarty foreach to json javascriptSmarty foreach 到 json javascript
【发布时间】:2017-12-30 19:14:13
【问题描述】:

我正在尝试为在线商店构建谷歌动态再营销,但购物车中有许多产品 ID 存在问题。

这是我的代码:

{literal}
<script type="text/javascript">
  var ids = "{/literal}{foreach from=$products|json_decode key=pId item=p name=i}{$p.id_product}{if not $smarty.foreach.i.last}, {/if}{/foreach}{literal}";
  var total = "{/literal}{displayPrice price=$total_products_wt}{literal}";
  total = total.replace(/[zł]/g, "");
  total = total.replace(/[,]/g, ".");
            dataLayer.push({
                'event': 'fireRemarketingTag',
                'google_tag_params': {
                    'ecomm_prodid': ids,
                    'ecomm_pagetype': 'cart',
                    'ecomm_totalvalue': total
                }
            });
        </script>

 {/literal}

谷歌标签助手仍然收到错误 - “需要将多个产品 ID 存储在一个数组中。”

看起来像这样

ecomm_prodid:367\, 74, ecomm_pagetype:cart, ecomm_totalvalue:109.80
"ecomm_prodid": "367,
      74",

应该是这样的;

ecomm_prodid:367,74, ecomm_pagetype:cart, ecomm_totalvalue:109.80
"ecomm_prodid":       [
        367,
        74
      ],

【问题讨论】:

    标签: javascript php json smarty google-tag-manager


    【解决方案1】:

    我认为您唯一需要做的就是将var ids 定义周围的" 字符更改为[ 和],如下所示:

    var ids = [{/literal}{foreach from=$products|json_decode key=pId item=p name=i}{$p.id_product}{if not $smarty.foreach.i.last}, {/if}{/foreach}{literal}];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多