public function ajouterAction(Article $article, Request $request) { $commentaire = new Commentaire(); $commentaire->setArticle($article); $commentaire->setIp($request->server->get('REMOTE_ADDR')); $form = $this->getForm($article, $commentaire); // Avec la route que l'on a, nous sommes forcément en POST ici, pas besoin de le retester $form->handleRequest($request); if ($form->isValid()) { $em = $this->getDoctrine()->getManager(); $em->persist($commentaire); $em->flush(); $this->get('session')->getFlashBag()->add('info', 'Commentaire bien enregistré !'); // On redirige vers la page de l'article, avec une ancre vers le nouveau commentaire return $this->redirect(sprintf('%s#comment%d', $this->generateUrl('sdzblog_blog_voir', array('slug' => $article->getSlug())), $commentaire->getId())); } $this->get('session')->getFlashBag()->add('error', 'Votre formulaire contient des erreurs'); // On réaffiche le formulaire sans redirection (sinon on perd les informations du formulaire) return $this->forward('SdzBlogBundle:Blog:voir', array('article' => $article, 'form' => $form)); }
/** * Add commentaires * * @param \Sdz\BlogBundle\Entity\Commentaire $commentaires * @return Article */ public function addCommentaire(\Sdz\BlogBundle\Entity\Commentaire $commentaires) { $this->commentaires[] = $commentaires; $commentaires->setArticle($this); return $this; }
/** * Add commentaires * * @param \Sdz\BlogBundle\Entity\Commentaire $commentaires * @return Article */ public function addCommentaire(\Sdz\BlogBundle\Entity\Commentaire $commentaire) { $this->commentaires[] = $commentaire; $commentaire->setArticle($this); // On ajoute ceci return $this; }