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';
    }
}
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) }}
Je voudrais que le rendu final soit :

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