0

我有一个包含许多嵌入式表单的表单,这些表单是选择列表。

我最理想的做法是保存选择列表值。

我可以使用以下方法获取表单值:

$this->form->getValues()

var_dumping 上面给了我类似的东西:

    array
      'fields' => 
        array
          'Field' => 
            array
              'field' => string 'field' (length=7)
              'column' => int 0
              'id' => null
          'Field 1' => 
            array
              'field' => string 'field_1' (length=7)
              'column' => int 1
              'id' => null
          'Field 2' => 
            array
              'field' => string 'field_2' (length=19)
              'column' => int 10
              'id' => null
      'id' => string '51' (length=2)

然后我在用户会话中设置了表单值:

$this->getUser()->getAttribute('something', $this->form->getValues());

我只是想知道如何根据这些保存的值设置选择列表?

谢谢

编辑:

在我actions.class.php的之后,我添加了以下内容$this->form-save()

$this->getUser()->setAttribute('user_fields', $this->form->getValues());

然后在configure()我的表单类的方法中,暗示使用:

    if ($savedValues = sfContext::getInstance()->getUser()->getAttribute('user_fields'))
    {
        $this->setDefaults($savedValues);
    }

而且效果很好!!

谢谢

4

1 回答 1

0

在创建表单之后(bind()调用之前)的操作中,您可以执行以下操作:

$this->form = new YourForm();

if ($savedValues = $this->getUser()->getAttribute('something'))
{
  $this->form->setDefaults($savedValues);
}

// ...
于 2012-09-21T21:19:42.220 回答