Bonjour,
j'ai une erreur au niveau de message FlashBag en effet il s'agit d'un formulaire de contact mais le message s'affiche toujours dans le modal
voici la page contact.html.twig
le contrôleur
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60 {%extends "GestionecoleBundle::layout.html.twig"%} {% block contenue %} <div > {% for flashes in app.session.flashbag.all %} {% for flash in flashes %} <div class="alert alert-success"> <a class="close" data-dismiss="alert">×</a> <p style="font-size: large"><i class="glyphicon glyphicon-ok"></i> {{ flash }}</p> </div> {% endfor %} {% endfor %} </div> <div class="panel panel-primary" style="background-color: transparent"> <div class="panel-heading">Contactez nous           <i class="glyphicon glyphicon-envelope"> </i></div> <div class="panel-body"> <form action="{{ path('_contact') }}" method="POST" {{ form_enctype(form) }} id="_contact_form" class="form-box" id="login-box"> <div class="body bg-gray"> <div class="form-group"> <div class="form-group"> <input type="text" id="gestion_ecolebundle_contact_name" name="gestion_ecolebundle_contact[name]" required="required" class="form-control" placeholder="Nom"/> </div> <div class="form-group"> <input type="text" id="gestion_ecolebundle_contact_email" name="gestion_ecolebundle_contact[email]" required="required" class="form-control" placeholder="Email"/> {{ form_errors(form.email)}} </div> <div class="form-group"> <input type="text" id="gestion_ecolebundle_contact_subject" name="gestion_ecolebundle_contact[subject]" required="required"class="form-control" placeholder="Subject"/> </div> <div class="form-group"> <textarea type="text" id="gestion_ecolebundle_contact_message" name="gestion_ecolebundle_contact[message]" required="required" class="form-control" placeholder="Message"></textarea> </div> <div class="form-group"> {{ form_widget(form._token) }} </div> </div> <div class="footer"> <button type="submit" class="btn btn-primary" id="_submit" name="_submit" >Envoyer </button> </div> </div> </form> </div> </div> {%endblock%}
layout.html.Twig
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 public function contactAction(Request $request) { $em = $this->getDoctrine()->getManager(); $form = $this->createForm(new \Gestion\ecoleBundle\Form\ContactType()); if ($request->isMethod('POST')) { $form->bind($request); if ($form->isValid()) { $message = \Swift_Message::newInstance() ->setSubject($form->get('subject')->getData()) ->setFrom($form->get('email')->getData()) ->setTo('ecole.webmaster@gmail.com') ->setBody( $this->renderView( 'GestionecoleBundle:Visiteur:mail.html.twig', array( 'ip' => $request->getClientIp(), 'email' => $form->get('email')->getData(), 'name' => $form->get('name')->getData(), 'message' => $form->get('message')->getData(), 'form' => $form->createView() ))); $this->get('mailer')->send($message); $reg = new contact(); //FILL THE ENTITY $reg->setName($form['name']->getData()); $reg->setEmail($form['email']->getData()); $reg->setSubject($form['subject']->getData()); $reg->setMessage($form['message']->getData()); $em->flush(); $request->getSession()->getFlashBag()->add('succes','Ton email a été bien envoyé'); return $this->redirect( $this->generateUrl('_contact')); } } return $this->render('GestionecoleBundle:Visiteur:contact.html.twig', array('form'=>$form->createView())); }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <div class="modal" id="myModal"> <div class="modal-dialog"> <div class="modal-content "> <div class="modal-header"> <h4 class="modal-title" id="myModalLabel" >Connectez vous!</h4> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> </div> <div class="modal-body"> <div> {{ render(controller('FOSUserBundle:Security:login'))}}</div> </div> </div></div></div>
Partager