Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ZF] 1 Kontroler, kilka widoków
Forum PHP.pl > Forum > PHP > Frameworki
IceManSpy
Witam

Zastanawiam się w jaki sposób poprawnie wykonać coś takiego jak w temacie, o ile jest to zgodne z Zendem i MVC.
Dla jednej akcji w zależności od pewnego warunku (parametr w adresie) chcę, aby wczytywał się albo widok domyślny (taki jak nazwa akcji) lub jakiś mój zdefiniowany. Zastosowałem takie rozwiązanie:
  1. /*
  2. * Renderowanie drugiego widoku jeśli parametr ID istnieje
  3. */
  4. if($this->getRequest()->getParam('id')) {
  5. $id = $this->getRequest()->getParam('id');
  6. echo $this->view->render('group/archived_list.phtml');
  7. $this->_helper->viewRenderer->setNoRender(true);
  8. }

Czy takie rozwiązanie może być? Czy istnieje jakiś inny, bardzie profesjonalny?
skowron-line
Może być nie ma tu nic sprzecznego z MVC bo nie ma to z tym żadnego związku
IceManSpy
Czyli zastosowanie w tym przypadku "echo" jest jak najbardziej prawidłowe?
skowron-line
A widoki w ZF nie są z automatu przetwarzane questionmark.gif
ActivePlayer
lepiej tak
  1. $this->_helper->viewRenderer->setRender('foo');
IceManSpy
Wolę sposób @ActivePlayer wink.gif Jak widzę "echo" w kontrolerze, to czuje, że robić coś nie tak wink.gif

Jest tylko jedna wada powyższego rozwiązania, jak plik ma nazwę np: widok_dwa.phtml , to setRender chce wczytać plik widok-dwa.phtml , chociaż jako parametr przyjmuje widok_dwa . Chodzi o podkreślenie.
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.