Как из свого контроллера, при отсутствии у него экшена принудительно запустить контроллер "Контент"?

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО InstantCMS 2.X

Контроллер по умолчанию совместно с системным контроллером "Контент"

#1 29 июля 2020 в 18:48
В настройках можно задать контроллер по умолчанию. У меня свой контроллер, например название "landing". Если его задать как контроллер по умолчанию, то перестает работать системный контроллер "Контент". Собственно оно и понятно, так как все экшены он ищет в контролере "landing" и если не находит — выводит 404. Как можно из свого контроллера "landing", при отсутствии у него экшена принудительно запустить контроллер "Контент"?

Грубо говоря я просто не хочу что бы к страницам лендинга добавлялось /landing/xxx
#2 29 июля 2020 в 19:07
Как-то так например

  1. public function routeAction($action_name) {
  2. if (!$this->isActionExists($action_name)){
  3. $this->redirect(куда нужно);
  4. }
  5. return $action_name;
  6. }
или так

  1. public function routeAction($action_name) {
  2.  
  3. if (!$this->isActionExists($action_name)){
  4. $core = cmsCore::getInstance();
  5. $core->uri_controller = 'content';
  6. $core->runController();
  7. return 'exit';
  8. }
  9.  
  10. return $action_name;
  11.  
  12. }
  13.  
  14. public function actionExit(){return;}
#3 29 июля 2020 в 20:25
Благодарю, второй вариант то что нужно и рабочий!
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.