0

%% 変数を含む .tpl ファイルがあります。

例:

%%GLOBAL_Error%%

これは smarty テンプレート エンジン ファイルですか?

この変数が空でないかどうかを確認したいのですが、通常の smarty 構文ではこれを行うことができません。

{if isset($GLOBAL_Error) }

これどうやってするの?

これが Twig テンプレート エンジンであるという応答がありました :S

4

2 に答える 2

1

そうかもしれませんが、そうではないかもしれません。Smartyタグの区切り文字は構成可能であるため、開発者が%%とに設定することができます%%GLOBAL_Error変数ではないかもしれませんが、パラメーターのない関数呼び出しです。その場合、次のようなものが必要になります。

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

ただし、これはかなり醜い構文です。テンプレートのコンパイル前またはコンパイル後の検索/置換用の文字列トークンなど、何でもかまいません。すでに標準の区切り文字でSmartyを使用している場合は%%GLOBAL_Error%%、Smartyによって解析されることを意図している可能性は低く、古いコードの間違いや遺物である可能性もあります。確実に知る唯一の方法は、作者に尋ねるか、コードベースを調べることです。

于 2012-06-26T13:41:50.390 に答える
1

デフォルトでは、デリミタとして{andをスマートに使用します。}したがって、コードを書くことができます:

{if $GLOBAL_Error}{/if}

ただし、区切り記号は次のように変更でき%%、コードは次のような形式にする必要があります。

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

参照: http://www.smarty.net/docsv2/en/language.escaping.tpl

于 2012-06-26T13:46:44.343 に答える