У меня есть следующий шаблон Smarty, который показан в его полном виде, который генерирует некоторый JavaScript.альтернатива тэгам Smarty {literal} для динамического 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}
Заканчивать [комментарий liuchangjohn в] (http://www.smarty.net/forums/viewtopic.php?t=150) на использование Smarty предфильтра для создания тегов сценариев. Более чистый синтаксис, в целом. – Mathletics
@ Mathletics прошло уже несколько лет, этот хак больше не нужен. –