{literal}
{literal}标签允许一个数据块被直接使用。这通常用于 Javascript 或样式表块周围,其中的{花括号}会干扰模板分隔符语法。在{literal}{/literal}标签内的任何内容都不会被解释,而是按原样显示。如果你需要在{literal}块中嵌入模板标签,考虑使用{ldelim}{rdelim}来转义单个分隔符。
注意
{literal}{/literal}标签通常不是必需的,因为 Smarty 会忽略被空白字符包围的分隔符。确保你的 javascript 和 CSS 的花括号被空白字符包围。这是 Smarty 3 的新行为。
<script>
// 下面的括号被Smarty忽略
// 因为它们被空格包围
function myFoo {
alert('Foo!');
}
// 这个需要使用literal进行转义
{literal}
function myBar {alert('Bar!');}
{/literal}
</script>
另请参见 {ldelim} {rdelim} 和 转义 Smarty 解析页面。