1

だから私はこれを行うことでsymfony2 formbuilderのフィールドのデフォルト値を設定できることを読みました

->add('myfield', 'text', array(
  'label' => 'Field',
  'data' => 'Default value'
))

ここで、デフォルトでここにある値を操作したいのですが、何を設定するかを知るために、最初に渡されたものを知る必要があるため、次のようなデフォルト値を取得できますか

myfield.default_value

後でそれを操作して、操作の結果を実際のデフォルト値として設定できるようにするには?

追記:やってみた

    ->add('username', 'text', array('label' => 'Användarnamn ', 'data' => 'my_own_defaultvalue'))

それは私にとってはうまくいきませんでした(ただし、多くのフォーラムで見られました...)。

4

1 に答える 1

0

次に、おそらく最も簡単な方法は、次のように、オブジェクトをformBuilderに渡す前にオブジェクトを編集することであることに気付きました。

public function editUserAction($id)
{   

    $em = $this->getDoctrine()->getEntityManager();

    $entity = $em->getRepository('BizTVUserBundle:User')->find($id);

    if (!$entity) {
        throw $this->createNotFoundException('Unable to find Container entity.');
    }

      //run some action to modify one of the variables of $entity

    $entity->setUsername($username_stripped); //put my edited variable into the object, now we're ready to pass my new and improved $entity to the formBuilder...

    $editForm = $this->createForm(new editUserType(), $entity);

    return $this->render('BizTVUserBundle:Default:editUser.html.twig', array(
        'entity'      => $entity,
        'edit_form'   => $editForm->createView(),
    ));
}   
于 2012-08-21T13:22:01.503 に答える