Skip to content

{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 解析页面。