2017-07-02 12 views
0

をCONCATENATION:Smartyの変数は、私がこのような何かを持っている

私はそれをどのように行うことができます ['pages:list:activ']

['{$smarty.get.module}:list:activ']に変更する必要が

<select class="form-control" name="activ"> 
{if {$smarty.session.admin['access']['pages:list:activ']} == '1'} 
    <option value="1">{#L_YES#}</option> 
    <option value="0">{#L_NO#}</option> 
{else} 
    <option value="0">{#L_NO#}</option> 
{/if} 
</select> 

?あなたは、単一引用符を使用しているとき

答えて

0

あなたがここに複数のオプションを持っている...

1の場合、PHPは、変数の解析を行いません。

ので

$a = 'string'; 
echo '$test with something'; 

の出力は以下となります。

$test with something 

しかし、あなたが使用している場合:

$a = 'string'; 
echo "$test with something"; 

または

echo "{$test} with something"; 

これの出力は以下となります。

string with something 

しかし、あなたが名前に.または->を使用する場合は(その周りに二重引用符に注意してください)このように、変数の周りにバッククォートを使用する必要がありますので、これは、動作しませんSmartyのための

{if {$smarty.session.admin['access']["`$smarty.get.module`:list:activ"]} == '1'} 

詳細情報については以下を参照してくださいSmarty Embedding Vars in Double Quotes


また、猫の修飾子を使用してconcatenaを割り当てることができますvarへのted値:

{assign var = "moduleList" value = $smarty.get.module|cat:":list:activ"} 
{if {$smarty.session.admin['access'][$moduleList]} == '1'} 
+0

ありがとうございます。 – pat15

関連する問題