2011-11-21 54 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