Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ZendFramework] FlashMessanger nie przechowuje komunikatów., Komunikaty są usuwane ze zmiennych sesji kiedy używam helpera widoku.
droslaw
post
Post #1





Grupa: Zarejestrowani
Postów: 98
Pomógł: 33
Dołączył: 10.05.2011
Skąd: Krak

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


Chcę wykorzystać w swoim projekcie FlashMessanger. Kierując się ściśle dokumentacją nie ma z tym problemu, wszystko działa. Niestety dokumentacja zakłada że będę w każdym kontrolerze akcji pobierać wiadomości i przypisywać je do zmiennej w widoku. Żeby uniknąć niepotrzebnej roboty utworzyłem helpera widoku, który sam się tym zajmuje i może być wywołany w layoucie.

  1. class Droslaw_View_Helper_Messenger extends Zend_View_Helper_Abstract
  2. {
  3. public function messenger()
  4. {
  5. $messages = Zend_Controller_Action_HelperBroker::getStaticHelper('FlashMessenger')->getMessages();
  6. $text = '';
  7.  
  8. if(!empty($messages))
  9. {
  10. $text .= '<ul class="messages">';
  11. foreach($messages as $message)
  12. {
  13. $text .= '<li>'.$message.'</li>';
  14. }
  15.  
  16. $text .= '</ul>';
  17. }
  18.  
  19. return $text;
  20. }
  21. }


Problem powoduje ta linijka:
  1. Zend_Controller_Action_HelperBroker::getStaticHelper('FlashMessenger')->getMessages();

Po wywołaniu Zend_Controller_Action_HelperBroker::getStaticHelper wiadomości są usuwane z sesji. Kiedy pobieram wiadomości w kontrolerze i przypisuję do zmiennej widoku wszystko gra.

Pogrzebałem w źródłach FlashMessangera.
Jeśli dodam w jego kontrolerze linijkę:
  1. $this->addMessage('message');

wtedy wiadomość się wyświetla, w innym wypadku nie.
Byłoby miło gdyby ktoś znał rozwiązanie. Będę wdzięczny za pomoc.
Pozdrawiam.

Ten post edytował droslaw 29.01.2012, 19:30:54
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 6.10.2025 - 08:02