尝试在键中显示带有连字符的Smarty变量。我无法改变密钥中有连字符这一事实。
例如,电话号码可以存储在$ form数组中:
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}
由于连字符,失败。
我是如何解决这个问题的?
答案 0 :(得分:3)
您可以使用的唯一解决方法是:
{assign var="mykey" value="phone-1-1"}
{$form.$mykey.label}
狂野的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)