2012-02-17 26 views
3

嘗試在鍵中顯示連字符的Smarty變量。我無能爲力來改變它在密鑰中有連字符的事實。Smarty變量 - 數組鍵中的連字符

例如,一個電話號碼可被存儲在$形式陣列內爲:

phone-1-1 => Array (9) 
    name => "phone-1-1" 
    value => "(555) 555-5555" 
    type => "text" 
    frozen => false 
    required => false 
    error => null 
    id => "phone-1-1" 
    label => "<label for="phone-1-1">Phone Number (..." 
    html => "<input maxlength="32" size="20" name=..." 

試圖打印使用smarty的變量:

{$form.phone-1-1.label} 

因爲連字符的失敗。

任何想法如何解決這個問題?

回答

3

你可以使用的唯一的解決方法是:

{assign var="mykey" value="phone-1-1"} 
{$form.$mykey.label} 

的bult-在Smarty的功能{assign}讓你直接在模板創建變量。

http://www.smarty.net/docs/en/language.function.assign.tpl(對於Smarty的3)
http://www.smarty.net/docsv2/en/language.custom.functions.tpl(對於Smarty的2)

+0

真棒。謝謝。 – bpmccain 2012-02-17 16:47:46

+3

你也可以做'{$ form [「phone-1-1」]。label}',這樣稍微乾淨一點,然後做'{assign'}。 – fleeting 2012-05-07 18:54:06