我有一个包含许多嵌入表单的表单,这些表单是选择列表。
我理想的是保存选择列表值。
我可以使用以下方式获取表单值:
$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);
}
它完美无缺!!
由于
答案 0 :(得分:0)
在创建表单后(以及调用bind()
之前)中的操作中,您可以执行以下操作:
$this->form = new YourForm();
if ($savedValues = $this->getUser()->getAttribute('something'))
{
$this->form->setDefaults($savedValues);
}
// ...