или я уже к концу дня не соображаю или одно из двух
подскажите есть ли возможность (без извращений) импортировать в контроллер несколько действий из одного класса.
к примеру у меня есть один внешний контроллер в котором есть несколько действий actionInfo и actionIndex сам контроллер находится гдееето, и имеет свои собственные представления для этих двух действий.
есть обычный контроллер и в него нужно подключить (както) эти два действия из внешнего контроллера.
перечитал немного маразмом отдает, но думаю вы поймете… я надеюсь
Может это поможет Основы - Контроллер. Там рассказывается, как можно сделать класс-действие, который наследуется от CAction. Этот класс-действие можно использовать в разных контроллерах.
не это точно не поможет, через CAction я могу передать только одно действие. Да и в классе может существовать только один метод run(). Так что два действия ни как не получается.
To sprint:
А це вже краще…
я вчера подумал еще использовать controllerMap. Только пока еще не знаю как его прикрутить к этой проблеме.
ну или расширить стандартный класс контроллер что бы он как-то вызывал разные действия
что то на подобии
public function actions(){
return array(
'someAction1' => array(
'class' => 'path.to.external.Controller',
'action' => 'actionIndex' // или вместо 'action' что то другое
),
);
}
или как вариант (это я теперь уже вижу) не импортировать экшины, а вызывать из текущего контроллера, имя внешнего контроллера и его действие передавать как параметры.
вообщем я так понял малой кровью не получится, придется всю здавать