Użycie innego kontrolera

Witam,

Problem wydaje się błahy, jednakże nie potrafie go rozwiązać.

$this->widget(‘zii.widgets.jui.CJuiTabs’, array(

'tabs'=>array(

‘test’=> $this->renderPartial(‘nazwamodułu.widoki.nazwa’, null,true) ),

Rzecz w tym aby $this, w którym znajduje się DefaultController zamienić informacjami z innego kontrolera. Nie potrafie wywołać innego kontrolera, a jest on potrzebny ze względu na zawartość zmiennych znajdujących się w nim dla wywoływanego widoku, który normalnie jest wywoływany przez ModulController.

Cos w stylu:

$ModulController->renderPartial(‘nazwamodułu.widoki.nazwa’, null,true) ),

Z góry dziękuje.

Możesz stworzyć obiekt kontrolera jak każdy inny.


$nowy = new JakistamController('jakistamkontroller');

Tyle, że jest to karygodne nadużycie :). Cała idea architektury MVC polega na tym, żeby był jeden kontroler i to idealnie jak najmniejszy. Cała logika idealnie powinna znaleźć się w modelach. Nie zawsze jest to możliwe, ale na pewno nie powinieneś tworzyć drugiego kontrolera w ramach jednego zapytania. Zastanów się na architekturą swojego systemu i nad tym, czy nie można przenieść elementów wykorzystywanych w 2 kontrolerach do wspólnego modelu lub nowego komponentu.

Skorzystałem z twojej rady i zrobiłem to w zupełnie inny sposób.