2012-09-21 33 views
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); 
    } 

它完美的工作! !

感谢

回答

0

在表格后的动作是创建(前bind()称),你可以这样做:

$this->form = new YourForm(); 

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

// ... 
+0

我用你的代码,它的工作伟大的!感谢您的帮助。 –

相关问题