在使用 smarty 的时候,如果没有更改 smarty 配置,smarty 的定界符是{ },大家经常可能碰到模板页中js无法正确执行的问题。

这就是因为 smarty 引擎把js中 { } 之间的内容也当做 smarty 语句来处理,本人总结的解决这个问题主要有三个:

  1. 更改 smarty 配置文件中的定界符。
  2. javascript代码写到一个js文件中,在模板页中引用即可。
  3. 使用 smarty 内置的 literal 标签,此标签内的数据将会被当做文本处理。例如
    {literal}
        <script language="javascript">
            ........
        </script>
    {/literal}

有时,我们需要输出定界符 { },则可以使用 {ldelim}{rdelim} 标签来输出左右定界符。