Bonjour,
J'ai un formulaire d'ajout de contenu dans le quelle plusieurs Tdthemes peuvent etre rattachés.
Je voudrais que par défaut le TdTheme dans lequel je me trouve actuellement soit coché par défaut.
Le tdtheme est récupérer par un slug dans l'url.
L'url ressemble donc à 'ajouter_contenu/matiere/science-de-bla-bla-bla/td/td-001' est td-001 est le slug de tdtheme.
Je crée donc mon formulaire dans mon controller:
Puis dans FrontendContentType:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $form = $this->createForm(new FrontendContentType(array('entity' => $td) ),null, array( 'action' => $this->generateUrl('frontend_addcontent_td', array('slug_matiere' => $slugmatiere , 'slug_td' => $slug_td)), 'method' => 'POST', 'attr' => array('class' => 'form-horizontal col-lg-12 col-md-12 col-sm-12 col-xs-12')));
Donc cela marche bien mais impossible de pré cocher le td par défaut .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 $entity = $this->options['entity']; $builder ->add('tdthemes', 'entity', array( 'class' => 'AppBundle:TdTheme', 'property' => 'frontname', 'expanded' => true, 'multiple' => true, 'query_builder' => function(TdthemeRepository $er ) use ( $entity ) { return $er->createQueryBuilder('t') ->orderBy('t.frontname', 'ASC') ->where('t.td = ?1') ->setParameter(1, $entity); }, 'required' => true, ));
J'ai essayé avec l'option data mais j'ai un message d'erreur :
Unable to transform value for property path "[tdthemes]": Expected a Doctrine\Common\Collections\Collection object.
Une idée ?
Merci d'avance pour votre aide :-)
Partager