网站开发日志

2008年12月8日星期一

分享家:Addthis中国

Smarty 如何显示大括号

大括号:‘{}’在Smarty里有特殊的意义,它是Smarty内置标签标识符,例如:{$smarty.now} 会被解析为当前时间。所以,如果我们不对大括号做特殊处理,在模板文件里插入CSS或者Javascripts代码时Smarty就会报错,因为Smarty无法解析大括号里内容。为了正常显示大括号,Smarty提供两种方法:

1. 一一对应法

{ldelim}表示“{ ”; 用{rdelim}表示“}”例如:

<script type="text/javascript">
function show_bs(obj){ldelim}
  myTimer=setTimeout('show_bs_2(\''+obj+'\');', 500);
{rdelim}
</script>

2. 整段隔离法

使用标签:{literal},把代码包裹起来,这样被包裹的部分就按原样逐字显示。例如:

{literal}
  <style type="text/css">
     body{font-family: Helvetica, Arial, Verdana, sans-serif;}
     a {color: #333}
     a:visited {color: #333}
     a:hover   {color: #f00}
     a:focus {outline: none;}
     ul, li{list-style-type: none;}
  </style>
{/literal}

注意:因为使用整段隔离法,被隔离的部分将不做解析,所以如果你想在包裹的代码里使用Smarty的特殊标签,那么你必须使用一一对应法。

标签:

相关文章:

0 条评论:

发表评论

指向此帖子的链接: