smarty中的unrecognized tag的解决

使用smarty模板时,默认的定界符是{和}。当页面的代码中包含保留词或定界符时,就会出现如下的错误提示:
Fatal error: Smarty error: [in XXX line XXX]: syntax error: unrecognized tag: ......


翻阅了一下Smarty官方手册,找到解决方案。

整理了一下,三种解决方法。

1.更换定界符。

$smarty->left_delimiter = '<!--{';
$smarty->right_delimiter = '}-->';
即使用<!--{和}-->来作为定界符,但在模板写变量时就会比较麻烦,个人不建议这样操作。
详细说明:http://www.itlearner.com/code/smarty_manual/language.escaping.html

2.在代码中用{ldelim},{rdelim}来替代你设定的定界符。
详细说明:http://www.itlearner.com/code/smarty_manual/language.function.ldelim.html

3.用{literal}和{/literal}来包含你的代码。
我推荐使用这种方法,至少我是觉得这种方法是最方便的。把可能会出问题的代码前后加上{literal}和{/literal}即可。
详细说明:http://www.itlearner.com/code/smarty_manual/language.function.literal.html
引用通告地址: http://dh.dolii.com/trackback.php?tbID=61&extra=b7676f
评论: -1 | 引用: 0 | 阅读: 311
发表评论
昵 称: 密 码:
网 址: 邮 箱:
验证码: 验证码图片 选 项:
头 像:
内 容: