1 - strona głowna
2 - podstrony
3 - panel logowania admina
4 - podstrony panelu admina
Rozwiązałem to w następujący sposób, domyślnym layoutem jest layout podstrony( nr 2) teraz w kontrolerze index w akcji index napisałem:
$layout = Zend_Layout::getMvcInstance(); $layout->setLayout('mainstart');
w ten sposób mam na stronie głównej inny layout niż na podstronach, jeżeli o admina chodzi to dodałem plugin:
class My_Controller_Plugin_Lay extends Zend_Controller_Plugin_Abstract{ public function preDispatch(Zend_Controller_Request_Abstract $request){ $module=$request->getModuleName(); if ($module=='admin'){ $layout = Zend_Layout::getMvcInstance(); $layout->setLayout('adminPage'); } } }
czyli jeżeli modułem jest 'admin' to zostaje wczytany layout podstrony admina, panel logowania natomiast ma ustawiony layout w kontrolerze.
Moje pytanie czy to nie jest zbyt skomplikowane ? być może istnieje jakaś prostsza metoda tylko o niej nie wiem
