Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony][SF2][Symfony2]problem z odebraniem danych przez app.session.hasFlash
Forum PHP.pl > Forum > PHP > Frameworki
Star
czesc , w kontrolerze formularza mam takie o to nadanie komunikatu :

  1. $this->get('session')->setFlash('notice', 'Twoje zapytanie zostało przesłane');


i chce je odebrac w pliku widoku:
  1. {% if app.session.hasFlash('notice') %}
  2. <div class="success">
  3. {{ app.session.flash('notice') }}
  4. </div>
  5. {% endif %}


jednak dostaje komunikat :
Method "hasFlash" for object "Symfony\Component\HttpFoundation\Session\Session" does not exist.

Podpowie ktos co robie zle ?
korzystam z SF 2.8.0
kapslokk
Spróbuj tego:
  1. $this->get('session')->getFlashbag()->set('notice', 'Twoje zapytanie zostało przesłane');
Star
niestety, nie pomoglo
kapslokk
Ah, bo źle błąd przeczytałem i mi się pomyliło.
W twigu spróbuj zamiast
{% if app.session.hasFlash('notice') %}
dać:
{% if app.session.flashbag.has('notice') %}
Star
dzieki ,pomoglo ,jednak przy wyslaniu formularza dostaje teraz komunikat o niezdefiniowanej metodzie bindRequest :
Attempted to call an undefined method named "bindRequest" of class "Symfony\Component\Form\Form".

metpda wyglada tak:
  1. $contact = new Contact();
  2. $form = $this->createForm(new ContactForm(), $contact);
  3.  
  4. $request = $this->getRequest();
  5. if($request->getMethod() == 'POST')
  6. {
  7. $form->bindRequest($request);
  8.  
  9. if($form->isValid() )
  10. {
  11. $this->get('session')->setFlash('notice', 'Twoje zapytanie zostało przesłane');
  12. return $this->redirect($this->generateUrl('dn_cms_contact'));
  13. }
  14. }

dlaczego tak sie dzieje ?
kapslokk
http://symfony.com/blog/form-goodness-in-symfony-2-1
Szukaj bindRequest.
Korzystaj z dokumentacji symfony, jest naprawdę spoko smile.gif
prz3kus
Tutaj masz gotowy przykład jak to powinno wyglądać w dokumentacji:

http://symfony.com/doc/current/book/contro...#flash-messages
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.