Partage
  • Partager sur Facebook
  • Partager sur Twitter

Afficher un formulaire sur plusieur pages symfony

    20 mai 2022 à 21:47:32

    Bonjour,

    Je souhaite afficher un formulaire dans une modal dans le header. Afin de faire fonctionner le formulaire j'appel le controller Homecontroller.

    J'ai appelé le controller avec render controller dans le twig mais j'ai une page blanche.

    Merci pour votre aide.

    header.html.twig

     <main class="px-3">
        <h1 class="fw-bold"></h1>
        <p class="lead fw-bold"></p>
       
         
      
        {{include ('fragments/modal_form.html.twig') }} 
       </main>
     </div>
      
    </div>

    modal_form.html.twig

     <div class="modal-body">
           {{ render(controller(
            'App\\Controller\\HomeController::index',{'form' : form.createForm()} )) }}
            
          </div>

    Le controller

    /**
         * @Route("/", name="home")
         */
    
        public function index(PostsRepository $postsRepository,TagRepository $tagRepository, Request $request ):Response
         {
        
         $listTag = $tagRepository->findAll();
         
         $listPost = $postsRepository->findByPostPHp('php');
         
         $posts = $postsRepository->findByExampleField($value = 6);
         $partage = New Posts();
         $form = $this->createForm(PartagePostType::class);
         $form->handleRequest($request);
         if ($form->isSubmitted() && $form->isValid()) {
                $partage = $form->getData();   
                $this->entityManager->persist($partage);
                $this->entityManager->flush();
                $this->addFlash('success', 'Votre post a bien été partagé');
              
            }
        
            return $this->render('home/index.html.twig', [
                'posts' => $posts,
                'tag' => $listTag,
               'listPost' => $listPost,
                'form' => $form->createView(),
               
            ]);
           
        }




    • Partager sur Facebook
    • Partager sur Twitter
      21 mai 2022 à 22:02:02

      Salut, je ne recommanderais pas render(controller('')) de twig, entre autres pour ceci: Twig : render controller, le faux bon ami – Rachid TRAHIM (wordpress.com)

      Dans ton render(controller()) {'form' : form.createForm()} n'ecrase pas le form que ton controlleur devait normalement renvoyer ('form' => $form.createView() ?

      • Partager sur Facebook
      • Partager sur Twitter

      Afficher un formulaire sur plusieur pages symfony

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown