Wykorzystując Zend_View_Helper_Action w layout-cie (jako aplet w layout)
$this->action('list','index','calendar', array('rowCount' => 5));
dostałem wyjątek
Zend_Controller_Router_Exception: module is not specified in ..
O co chodzi?
Na początku anializy myślałem że jest błąd w tym helperze i dispachowaniu akcji ale naszczęście się myliłem. Rozwiązanie problemu okazało się dużo bardziej trywialne jak i zaskakujące!
Wykorzystując pomocnik widoku Zend_View_Helper_Url w pliku widoku dla wywoływanej akcji (czyli list.phtml) nie można korzystać z "skróconej" wersji generowani url!
tj. zamiast
$this->url(array('action' => 'display','id' => $row->id),'frontend')
należy stosować pełny zapis
$this->url(array('module' => 'calendar','controller' => 'index','action' => 'display','id' => $row->id),'frontend')
EDIT:
Można stosować skróconą wersję pomocnika widoku dla akcji tylko 2gi parametr określający url w/w przykładzie nie może być 'frontend' tylko musi być domyślnym tj. musi zostać pominięty
dixi.
Brak komentarzy:
Prześlij komentarz