Smarty变量 - 数组键中的连字符

时间:2012-02-17 05:59:16

标签: smarty

尝试在键中显示带有连字符的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}
由于连字符,

失败。

我是如何解决这个问题的?

1 个答案:

答案 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)