2013-07-05 74 views
0

我在smarty中顯示我的數組時遇到問題。它看起來像這樣。數組聲明:Smarty不顯示多維數組

的index.php:

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

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

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

而且在模板文件:

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

第一行印像它整個數組,所以數組分配。但第二行沒有顯示,爲什麼?如何正確地做到這一點?如果我這樣做{$ rewrites.de.homepage}它可以工作,但我真的需要像這樣聲明我的數組值{$ rewrites [de] [homepage]},因爲'de'來自其他變量,它定義了當前的語言。例如,我的目標是{$ rewrites [$ lang] [homepage]}。

+0

的http:// stackoverflow.com/questions/648042/smarty-how-to-refe rence-the-associative-array-index –

回答

0

用途:

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

您還可以使用:

{$rewrites.{$lang}.homepage} 
+0

查看我的回覆更新 –

+0

好吧,當我試着像你寫的那樣,我有一個聰明的錯誤。 – b4rt3kk

-1

你能做的就是如下{$rewrites[$lang].homepage}

0

只要試試這個:

{$rewrites.de.homepage}