{literal}

    {literal}标记使得一数据块按原样处理。通常使用在JavaScript或者样式块,因为它们的{花括号}会影响到模板的分隔符语法。另外{literal}{/literal}标记间的任何内容都不会被解释,而原样输出。如果你需要在{literal}块中嵌入模板标记,考虑使用{ldelim}{rdelim}来将个别分隔符转义。

例子7-25. {literal}标记

{literal}
<script type="text/javascript">
<!--
  function isblank(field) {
    if (field.value == '')
      { return false; }
    else
      {
      document.loginform.submit();
      return true;
    }
  }
// -->
</script>
{/literal}

例子7-26. Javascript函数

<script language="JavaScript" type="text/javascript">
{literal}
function myJsFunction(name, ip){
   alert("The server name\n" + name + "\n" + ip);
}
{/literal}
</script>
<a href="javascript:myJsFunction('{$smarty.server.SERVER_NAME}','{$smarty.server.SERVER_ADDR}')">Click here for the Server Info</a>

例子7-27. 模板中的一些CSS样式

{* 作为尝试,包含该样式 *}
<style type="text/css">
{literal}
/* this is an intersting idea for this section */
.madIdea{
    border: 3px outset #ffffff;
    margin: 2 3 4 5px;
    background-color: #001122;
}
{/literal}
</style>
<div class="madIdea">With smarty you can embed CSS in the template</div>

    参见{ldelim} {rdelim}以及Smarty解析的转义