我有以下Smarty模板,它的整体显示它会生成一些JavaScript。替代Smarty动态JavaScript的{literal}标签
正如你所看到的,我开放{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}
退房[liuchangjohn的评论](http://www.smarty.net/forums/viewtopic.php?t=150)上使用Smarty的前置过滤器,以生成脚本标记。总体而言,语法更清晰。 – Mathletics 2013-02-22 17:13:33
@Mathletics从那时起已经过去了几年,这种黑客应该不再需要了。 – 2013-02-23 22:29:29