Bonjour,
Je m'initie à Symfony2 et je me retrouve un peu bloqué au niveau de l'externalisation des formulaires. J'essaie de réaliser une application de gestion de films, tout ce qu'il y a de plus banal donc.
Je souhaite donc créer un formulaire pour ajouter des catégories. Lorsque je fais ceci:
Pas de problème le formulaire s'affiche correctement.
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
16
17 <?php public function addAction() { $cat = new Category(); $formBuilder = $this->createFormBuilder($cat); $formBuilder->add('title', 'text'); $form = $formBuilder->getForm(); return $this->render('CedevMediamanagerBundle:Category:edit.html.twig', array ( 'form' => $form->createView() ) ); } ?>
En revanche si je fais cela:
Je récupère une exception: "Expected argument of type "string, Symfony\Component\Form\ResolvedFormTypeInterface or Symfony\Component\Form\FormTypeInterface", "Cedev\MediamanagerBundle\Entity\Category given".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <?php $cat = new Category(); $form = $this->createForm($cat, new CategoryType()); return $this->render('CedevMediamanagerBundle:Category:edit.html.twig', array ( 'form' => $form->createView() ) ); ?>
Au cas où voici le code CategoryType généré par la console:
Pouvez-vous me dire où ça coince ? Merci d'avance.
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
16
17
18
19
20
21
22
23 <?php class CategoryType extends AbstractType { public function buildForm(FormBuilderInterface $builder, array $options) { $builder ->add('title', 'text') ; } public function setDefaultOptions(OptionsResolverInterface $resolver) { $resolver->setDefaults(array( 'data_class' => 'Cedev\MediamanagerBundle\Entity\Category' )); } public function getName() { return 'cedev_mediamanagerbundle_categorytype'; } } ?>
Partager