2011-11-21 52 views
0

当前我改变smarty 2 - >版本3我smarty得到未知标签,但它是一个合法的标签

但我改变后有问题如下。

SmartyCompilerException: Syntax Error in template 
"/home/test/engine/mobile9/template/t_footer.tpl" on line 28 
"{php}" unknown tag "php" in /home/test/engine/modules/smarty/sysplugins/smarty_internal_templatecompilerbase.php on line 617 

之后,我检查smarty 3文件。它显示{php}是有效的运算符。

回答

3

检查文档here

重要提示

{} PHP标签是从Smarty的过时,不应使用。将 代替PHP脚本或插件函数。注意

从Smarty 3.1开始,{php}标签只能从SmartyBC获得。

如果您使用的是Smarty 3.0x,它应该可以工作。如果您使用的是Smarty 3.1,则必须安装SmartyBC class(向后兼容包装)以使用{php} -Tag。

但在可能的情况下尝试遵循Smartys的建议:将PHP逻辑放入PHP脚本中,而不是放入Smarty模板中。

+0

thx很多,因为这个页面很快就会被删除,只是暂时的。最好包括这个插件。 thx – Leon

+0

== {php}标记== {php}标记在默认情况下处于禁用状态。 {php}标记的使用是 已弃用。它可以通过$ smarty-> allow_php_tag = true来启用。 但是,如果您将属于一起的PHP代码分成几个 {php}标签,它可能无法再工作。 这是我在smarty官方网站找到的扫管笏。 mayb这是解决方案之一。 – Leon