0

アレイをスマートに表示する際に問題があります。このように見えます。配列の宣言:

index.php:

$rewrites = array(
'en' => array(
'homepage' => 'homepage'
),

'de' => array(
'homepage' => 'zuhause'
),
);

$smarty->assign('rewrites', $rewrites);

そしてテンプレートファイルで:

{$rewrites|@print_r}
{$rewrites[de][homepage]}

最初の行は配列全体をそのまま出力するため、配列が割り当てられます。しかし、2行目は何も表示されません。なぜですか? 適切に行う方法は?この {$rewrites.de.homepage} のようにすると動作しますが、「de」は現在の言語を定義する他の変数から取得されるため、この {$rewrites[de][homepage]} のように配列値を宣言する必要があります. たとえば、私のターゲットは {$rewrites[$lang][homepage]} です。

4

3 に答える 3

0

使用する:

{$rewrites[$lang]['homepage']}

以下も使用できます。

{$rewrites.{$lang}.homepage}
于 2013-07-05T09:13:46.513 に答える
-1

あなたができることは次のとおりです{$rewrites[$lang].homepage}

于 2013-07-05T09:16:55.607 に答える