Bonjour à tous,
J'essai de faire un formulaire mais je bloque sur un point.
J'ai un quizz qui lui as plusieurs questions qui eux même ont plusieurs réponses.
Je voudrais donc faire un formulaire générale qui m'affiche toutes les questions du quizz avec ses réponses associées.
Je n'arrive ni à récupérer les questions / réponses associées au quizz ni à les afficher.
Voilà mon code :
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
24
25
26
27
28
29
30
31
32
33
34 <?php namespace AppBundle\Form\Type; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\FormBuilderInterface; use AppBundle\Form\Type\FrontendQuestionQuizzMultipleType; use Symfony\Component\OptionsResolver\OptionsResolverInterface; class FrontendQuizzType extends AbstractType { public function __construct() { } /** * @param FormBuilderInterface $builder * @param array $options */ public function buildForm(FormBuilderInterface $builder, array $options) { $builder ->add('quizzquestions', 'collection', array('type' => new FrontendQuestionQuizzMultipleType() ) ) ; } /** * @return string */ public function getName() { return 'frontend_appbundle_quizz'; } }
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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 <?php namespace AppBundle\Form\Type; use AppBundle\Entity\QuizzResponseRepository; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolverInterface; class FrontendQuestionQuizzMultipleType extends AbstractType { protected $options; public function __construct() { } /** * @param FormBuilderInterface $builder * @param array $options */ public function buildForm(FormBuilderInterface $builder, array $options) { $builder ->add('content') ->add('quizzresponses','entity', array('class' => 'AppBundle\Entity\QuizzResponse', 'by_reference' => true, 'multiple' => true, 'required' => false)); } public function setDefaultOptions(OptionsResolverInterface $resolver) { $resolver->setDefaults(array( 'data_class' => 'AppBundle\Entity\QuizzQuestion', )); } /** * @return string */ public function getName() { return 'frontend_appbundle_quizzquestion'; } }Je voudrais que le rendu final soit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 {{ form_start(form) }} {% for question in form.quizzquestions %} NE RENTRE PAS DEDANS {% endfor %} {{ form_end(form) }}
Question 1 : Titre Question 1
Bouton radio choix 1 Réponse Question 1
Bouton radio choix 2 Réponse Question 1
Question 2 : Titre Question 2
Bouton radio choix 1 Réponse Question 2
Bouton radio choix 2 Réponse Question 2
etc ....
Bouton Valider
Merci d'avance pour votre aide
Partager