个人不是很赞同改定界符来解决这个冲突问题。
作为smarty的开发者,他们肯定懂HTML、CSS、JS的,他们肯定知道这个大括号会有冲突的,
所以,smarty本身肯定会有解决办的,那就是{literal}和{/literal}
将不想被smarty解释的HTML用{literal}和{/literal}包起来。
可以像这样
{literal}
<script type="text/javascript">
function myFun(){
}
</script>
{/literal}
如果我们有smarty的变量要传递给javascript可以这样
<script type="text/javascript">
var chk = "{$checked}";
{literal}
function myFun(){
}
{/literal}
</script>
{literal}和{/literal}使用的位置,不需要强求在HTML里的“配对位置”,即可以这样:
<header>
<script type="text/javascript">
var chk = "{$checked}";
{literal}
function myFun(){
}
</script>
</header>
<body>
{/literal}