Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ZendFramework] FlashMessenger w layout-cie
Forum PHP.pl > Forum > PHP > Frameworki
paq85
Witam.

Proszę o poradę jak zrobić tak aby na wszystkich stronach pojawiała się wiadomość odczytana przy pomocy FlashMessengera.

Mam pliki layout i najchętniej w którymś z nich bym umieścił jakiś kod, który by wyświetlał wiadomość z FlashMessengera.

Niestety w plikach layout-owych nie mogę się odwoływać do tego helpera.

Jak sobie z tym poradzić (w dobrym stylu)?

seth-kk
zwroc uwage ze to action helper a nie view helper
paq85
Cytat(seth-kk @ 13.10.2009, 22:36:37 ) *
zwroc uwage ze to action helper a nie view helper


Czyli jakie rozwiązanie proponujesz?


Główny kontroler, po którym dziedziczą inne i renderują zawsze wiadomość odczytana z flash messengera, np. podczas preDispatch() albo init()?

seth-kk
nie controller wyswietlajacy tylko podajacy wiadomosc do widoku, ale rownie dobrze mozesz to zrobic w pluginie lub samym widoku za pomoca HelperBrokera
paq85
niestety nie mam pojęcia w jaki sposób wykorzystać twoje porady

plugin odpada bo nie ma w nim w ogóle dostępu do widoku a broker przecież i tak rejestruje automatycznie FlashMessengera, więc nie rozumiem jak mój własny helper miałby sobie poradzić z moim problemem



Po wielu zmaganiach udało mi się coś zrobić ale niestety nie działa to tak jakbym chciał.

Zaczynam wątpić czy w ogóle da się zrobić tak jak ja planuję.

Chcę aby zadziałało to w ten sposób:

- uruchamiam akcję A, w niej dodaje nową wiadomość do FlashMessengera
- po wywołaniu przez użytkownika akcji B / przekierowaniu go przy pomocy _redirect w akcji A - pokazuje mi się zapisana wcześniej wiadomość

Czy da się coś takiego zrobić w miarę prosto?  sciana.gif

seth-kk
w przypadku brokera chodzilo mi o cos w stylu
layout.phtml
  1. ...
  2. <?php
  3. $fm = Zend_Controller_Action_HelperBroker::getStaticHelper('flashMessenger');
  4. print_r($fm->getMessages());
  5. ?>
  6. ...
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.