crm*_*cco 4 javascript php analytics smarty smarty2
我有以下Smarty模板,其中显示了整个生成一些JavaScript的模板.
正如您所看到的,我在整个代码片段中打开{literal}和关闭{/literal}标记,这看起来有点混乱和不守规矩.是否有更好的方法来编写这个代码,如果将来必须更改代码,它将显得更整洁,更易于管理?
{literal}
<script type="text/javascript">
var _roi = _roi || [];
// Base Order Details
_roi.push(['_setMerchantId', '{/literal}{$merchant_id}{literal}']);
_roi.push(['_setOrderId', '{/literal}{$order_id}{literal}']);
_roi.push(['_setOrderAmount', '{/literal}{$order_total}{literal}']);
_roi.push(['_setOrderNotes', '{/literal}{$order_notes}{literal}']);
// Line Items
{/literal}
{foreach from=$line_items item=line name=items}
{literal}
_roi.push(['_addItem',
'{/literal}{$line.sku}{literal}',
'{/literal}{$line.title}{literal}',
'{/literal}{$line.category_id}{literal}',
'{/literal}{$line.category}{literal}',
'{/literal}{$line.price}{literal}',
'{/literal}{$line.quantity}{literal}'
]);
{/literal}
{/foreach}
{literal}
// Submit Transaction to SDC ROI tracker
_roi.push(['_trackTrans']);
</script>
<script type="text/javascript" src="{/literal}{$url}{literal}"></script>{/literal}
Run Code Online (Sandbox Code Playgroud)
如果您在javascript代码中使用大括号{和},则只需要{literal}标记.从我看到的,你不使用任何这些,所以我猜你的代码也会在没有任何{literal}标签的情况下播放.即使您使用了几个大括号,也可以在其位置使用{ldelim}和{rdelim},如果这样可以节省一些标签(并获得可读性)
(以上适用于smarty 2)