Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Symfony][SF2][Symfony2]problem z odebraniem danych przez app.session.hasFlash
Star
post 19.05.2016, 18:50:47
Post #1





Grupa: Zarejestrowani
Postów: 294
Pomógł: 34
Dołączył: 16.02.2015

Ostrzeżenie: (0%)
-----


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

Ten post edytował Star 19.05.2016, 18:52:25
Go to the top of the page
+Quote Post
kapslokk
post 19.05.2016, 19:27:46
Post #2





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Spróbuj tego:
  1. $this->get('session')->getFlashbag()->set('notice', 'Twoje zapytanie zostało przesłane');
Go to the top of the page
+Quote Post
Star
post 19.05.2016, 19:31:25
Post #3





Grupa: Zarejestrowani
Postów: 294
Pomógł: 34
Dołączył: 16.02.2015

Ostrzeżenie: (0%)
-----


niestety, nie pomoglo
Go to the top of the page
+Quote Post
kapslokk
post 19.05.2016, 19:35:37
Post #4





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


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') %}
Go to the top of the page
+Quote Post
Star
post 19.05.2016, 19:57:42
Post #5





Grupa: Zarejestrowani
Postów: 294
Pomógł: 34
Dołączył: 16.02.2015

Ostrzeżenie: (0%)
-----


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 ?
Go to the top of the page
+Quote Post
kapslokk
post 19.05.2016, 20:01:32
Post #6





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


http://symfony.com/blog/form-goodness-in-symfony-2-1
Szukaj bindRequest.
Korzystaj z dokumentacji symfony, jest naprawdę spoko smile.gif
Go to the top of the page
+Quote Post
prz3kus
post 20.05.2016, 08:10:20
Post #7





Grupa: Zarejestrowani
Postów: 260
Pomógł: 30
Dołączył: 22.01.2007

Ostrzeżenie: (0%)
-----


Tutaj masz gotowy przykład jak to powinno wyglądać w dokumentacji:

http://symfony.com/doc/current/book/contro...#flash-messages
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.07.2025 - 09:50