2012-06-26 44 views
0

我有一個.tpl文件,其中有%%變量。.tpl文件和%%。這是否聰明?

例子:

%%GLOBAL_Error%% 

這是一個智者的模板引擎文件?

我想檢查這個變量是不是空的,但我不能用普通的smarty語法來做到這一點。

{if isset($GLOBAL_Error) } 

我該怎麼做?

我得到響應,這是嫩枝模板引擎:S

回答

1

默認情況下,smarty使用{}作爲分隔符。所以,你可以寫代碼:

{if $GLOBAL_Error}{/if} 

但分隔符可以改變爲%%和代碼必須是這樣的形式:

%%if $GLOBAL_Error%%%%/if%% 

參見:http://www.smarty.net/docsv2/en/language.escaping.tpl

+1

THX這部作品在智者,但我得到這是Twig模板引擎的響應:S – senzacionale

1

可能是,但它可能不是。 Smarty tag delimiters是可配置的,因此開發人員可以將它們設置爲%%%%GLOBAL_Error可能不是一個變量,而是一個沒有參數的函數調用。在這種情況下,你需要這樣的:

%%if (%%GLOBAL_Error%%) %% 

這是一些很醜陋的語法雖然。它可以是任何東西,也可以是編譯模板之前或之後的某個搜索/替換的字符串標記。如果你已經在使用標準分隔符的Smarty,那麼它不可能被Smarty解析 - 它甚至可能是一個錯誤或遺留的舊代碼。要明確知道的唯一方法是向作者提問或僅查看代碼庫。