Symfony – Créer un bouton Add and new

janvier 4, 2017 3:29 Publié par Laissez vos commentaires

Bonjour à toutes et à tous,

Nous allons voir dans cet article comment ajouter un bouton « Save and Add » en plus du bouton Add dans un formulaire symfony. Tout se passe dans le controller :


$entity = new tuto();
$form = $this->createCreateForm($entity);
$form->handleRequest($request);

if ($form->get('save_and_add')->isClicked() && $form->isValid()) {
$em = $this->getDoctrine()->getManager();
$em->persist($entity);
$em->flush();

return $this->redirect($this->generateUrl('tuto_new'));
}

if ($form->isValid()) {
$em = $this->getDoctrine()->getManager();
$em->persist($entity);
$em->flush();

return $this->redirect($this->generateUrl('tuto_show', array('id' => $entity->getId())));
}

Explications :
Lorsque le bouton « save and add » est cliqué et lorsque le formulaire est valide, on redirige vers la page de création (tuto_new) après avoir persisté les données. Si le bouton submit classique est cliqué, alors c’est la page tuto_show qui sera affiché.

Bien entendu, il faudra créer un bouton save_and_add de type submit dans notre formulaire :


$form->add('submit', 'submit', array('label' => 'Ajouter'));
$form->add('save_and_add', 'submit', array('label' => 'Ajouter et Nouveau'));

Et l’ajouter dans notre template twig :

{{ form_row(form.submit)}}
{{ form_row(form.save_and_add)}}

Terminé 🙂

Classés dans :

Cet article a été écrit par admin

Laisser un commentaire