В настройках можно задать контроллер по умолчанию. У меня свой контроллер, например название "landing". Если его задать как контроллер по умолчанию, то перестает работать системный контроллер "Контент". Собственно оно и понятно, так как все экшены он ищет в контролере "landing" и если не находит — выводит 404. Как можно из свого контроллера "landing", при отсутствии у него экшена принудительно запустить контроллер "Контент"?
Грубо говоря я просто не хочу что бы к страницам лендинга добавлялось /landing/xxx
Как из свого контроллера, при отсутствии у него экшена принудительно запустить контроллер "Контент"?
ЕСТЬ РЕШЕНИЕ
ЗАКРЫТО
InstantCMS 2.X
Контроллер по умолчанию совместно с системным контроллером "Контент"
#1
29 июля 2020 в 18:48
Как-то так например
или так
public function routeAction($action_name) { if (!$this->isActionExists($action_name)){ $this->redirect(куда нужно); } return $action_name; }
public function routeAction($action_name) { if (!$this->isActionExists($action_name)){ $core = cmsCore::getInstance(); $core->uri_controller = 'content'; $core->runController(); return 'exit'; } return $action_name; } public function actionExit(){return;}
#3
29 июля 2020 в 20:25
Благодарю, второй вариант то что нужно и рабочий!