Fluke
18.12.2012, 09:30:55
Witam.
Mam 2 kontrolery w 1 module gdzie 1 jest dla użytkowników (IndexController) a 2 (AdminController). W indexController mam wyświetlanie newsów. W AdminController nie chcę pisać jeszcze raz wyświetlanie newsów tylko za pomocą metody _forward ustawiam akcje do IndexController -> listAction. Działą pięknie tylko chciałbym aby został wyświetlony inny widok, w którym będę mógł dodać linki typu "edit", "delete".
Nie wiem jak to zrobić. Próbowałem z $this->_helper->ViewRenderer->setRender('admin/list.phtml') i nie działa...
Pozdrawiam.
melkorm
18.12.2012, 09:37:53
Zmianę widoku po _forward możesz zrobić w akcji do której przekierowujesz akcję, przez $this->render().
Zresztą, pobranie newsów i przekazanie do widoku to są w teorii dwie linijki, czyli stworzenie modelu i wywołanie funkcji która zwróci paginator, więc nie widzę tutaj sensu.
Fluke
18.12.2012, 20:33:36
Też tak robiłem.
Mam w katalogu scripts: admin/index. W katalogu "index" oraz "admin" mam plik list.phtml. W kontrolerze AdminController w akcji listAction robię forward do IndexController oraz w AdminController chcę wybrac inny widok. Jak daję render w AdminController to wyświetla mi się widok nowy + widok z IndexController.
Mam rzeczywiście 2 linijki kodu ale tak na przyszłość chcę wiedzieć. Bo n.p jak będę chciał sortować wynik to już więcej się uzbiera.
Pozdro
Czyli jak nikt nie odpisuje to znaczy, że się nie da czy nikt nie wiem ?
Tutaj tylko chodzi o zmianę widoku w czasie wykonywania metody forward.
melkorm
19.12.2012, 13:43:32
Jeżeli w kontrolerze Admin, przekierowujesz akcję do innej akcji to widok możesz tylko zmienić w tej INNEJ akcji.
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.