【问题标题】:Smarty in javascript in prestashop templateprestashop 模板中的 javascript 中的 Smarty
【发布时间】:2017-12-30 02:59:22
【问题描述】:

我正在尝试在 prestashop 购物车页面(.tpl 文件)中创建具有产品 ID 的数据层。

这是显示已添加到购物车的产品 ID 的智能代码

{foreach $products as $product}
      {$product.id_product}
    {/foreach}

这样显示:123 284 495 392

我想让 id 以这种方式出现在脚本中:

{literal}
<script>
  gtag('event', 'page_view', {'send_to': 'AW-‎XXXXXXXX',
   'ecomm_prodid': '123,284,495,392',
   'ecomm_pagetype': 'cart',
   'ecomm_totalvalue': '{/literal}{displayPrice price=$total_products_wt}{literal}'
  });
</script>
 {/literal}

【问题讨论】:

    标签: javascript php prestashop smarty


    【解决方案1】:

    您可以像这样在 foreach 循环中添加 not last item 条件:

    {literal}
    <script>
    gtag('event', 'page_view', {'send_to': 'AW-‎XXXXXXXX',
    'ecomm_prodid': [{/literal}{foreach from=$products item=product name=prodid}'{$product.id_product}'{if $smarty.foreach.prodid.last}{else},{/if}{/foreach}{literal}]‌​,
    'ecomm_pagetype': 'cart',
    'ecomm_totalvalue': '{/literal}{displayPrice price=$total_products_wt}{literal}'
    });
    </script>
    {/literal}
    

    【讨论】:

    • 显示如下:0\, 7\, 1\, 1\, P\, 0\,
    • 更新了我的代码,将$product 更改为$products。现在的输出是什么?
    • 每个$product的内容是什么?
    • 我是这样设计的:'ecomm_prodid': [{/literal}{foreach from=$products item=product name=prodid}'{$product.id_product}'{if $smarty.foreach .prodid.last}{else},{/if}{/foreach}{literal}],无论如何,谢谢,编辑你的代码,你很有帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-19
    • 1970-01-01
    • 2019-08-12
    • 1970-01-01
    • 2019-01-09
    相关资源
    最近更新 更多