Quantcast
Channel: Grafikart | Derniers Sujets du forum
Viewing all articles
Browse latest Browse all 1542

Changer le forms pour un quiz

$
0
0

Bonjour,

Voila je rencontre un petit problème avec mon code.

Ce que je fais

Ici, j'ai créé un form traditionnelle qui ajoute un utilisateur, une question et une réponse et se sont tous les trois des clefs étrangères, du coup, j'obtiens des listes déroulantes.

<?php

namespace App\Form;

use App\Entity\ReponseUtilisateur;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Form\Extension\Core\Type\CollectionType;
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
use Symfony\Component\Form\Extension\Core\Type\RadioType;
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use Symfony\Component\Form\Extension\Core\Type\TextType;

class ReponseUtilisateurType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('Question')

            ->add('Reponse', EntityType::class,[
                   'class' => 'App\Entity\Reponse',
                   'expanded'=> true,
                   'multiple'=>false
                ])

            // ->add('Reponse', CheckboxType::class)

            // ->add('Reponse', RadioType::class)

            ->add('Utilisateur')
        ;
    }

    public function configureOptions(OptionsResolver $resolver)
    {
        $resolver->setDefaults([
            'data_class' => ReponseUtilisateur::class,
        ]);
    }
}

        {{ form_start(form) }}

            {{ form_row(form.Utilisateur) }}
            {{ form_widget(form.Question) }}
            {{ form_widget(form.Reponse) }}

      {{ form_end(form) }}

    /**
     * @Route("/new", name="questionnaire_new", methods={"GET","POST"})
     */
    public function new(Request $request): Response
    {
        $questionnaire = new Questionnaire();
        $form = $this->createForm(QuestionnaireType::class, $questionnaire);
        $form->handleRequest($request);

        if ($form->isSubmitted() && $form->isValid()) {
            $entityManager = $this->getDoctrine()->getManager();
            $entityManager->persist($questionnaire);
            $entityManager->flush();

            return $this->redirectToRoute('questionnaire_index');
        }

        return $this->render('questionnaire/new.html.twig', [
            'questionnaire' => $questionnaire,
            'form' => $form->createView(),
        ]);
    }

Ce que je veux

J'aimerais ne plus avoir de liste déroulante, mais une question puis ces questions en radio bouton ou checkbox puis la 2ème question ...


Viewing all articles
Browse latest Browse all 1542

Trending Articles