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 に答える