Smarty:literal函数
{literal}
{literal}
可以让一个模板区域的字符原样输出。 这经常用于保护页面上的Javascript或css样式表,避免因为Smarty的定界符{语法}而错被解析。 在{literal}{/literal}
内的任何标签都不会被解析,原样输出。 所以如果你有需要放到{literal}
内的标签,首先可以考虑是否用{ldelim}{rdelim}
来代替定界符在页面上的显示(不用{literal})。
温馨提示:
因为Smarty会忽略那些带空格的定界符,所以通常不需要使用{literal}{/literal}
,。 请确定你的Javascript或者CSS样式表的大括号周围是有空格的。这是Smarty 3的新特性。
Example 7.59. {literal} 标签
<script> // the following braces are ignored by Smarty // since they are surrounded by whitespace function myFoo { alert('Foo!'); } // this one will need literal escapement {literal} function myBar {alert('Bar!');} {/literal} </script>
参见 {ldelim} {rdelim}
和 避免Smarty解析。