.tpl文件和%%。这个聪明吗?

时间:2012-06-26 13:32:48

标签: smarty

我有一个.tpl文件,里面有%%变量。

示例:

%%GLOBAL_Error%%

这是一个聪明的模板引擎文件吗?

我想检查这个变量是不是空的,但我不能用常规的smarty语法来做。

{if isset($GLOBAL_Error) }

我该怎么做?

  

我得到的答复是这是Twig模板引擎:S

2 个答案:

答案 0 :(得分:1)

可能,但可能不是。 Smarty tag delimiters是可配置的,因此开发人员可以将其设置为%%%%GLOBAL_Error可能不是变量,而是没有参数的函数调用。在这种情况下,您需要以下内容:

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

虽然这是一个非常难看的语法。它可以是任何东西,也许是在编译模板之前或之后进行某些搜索/替换的字符串标记。如果你已经将Smarty与标准分隔符一起使用,那么%%GLOBAL_Error%%不太可能被Smarty解析 - 它甚至可能是旧代码的错误或遗留物。确切知道的唯一方法是询问作者或只看代码库。

答案 1 :(得分:1)

默认情况下,聪明地使用{}作为分隔符。所以,你可以编写代码:

{if $GLOBAL_Error}{/if}

但分隔符可以更改为%%,代码必须采用以下形式:

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

另请参阅:http://www.smarty.net/docsv2/en/language.escaping.tpl