дефолтный контроллер

Здравствуйте, на форуме не нашел ответа.

Подскажите пожалуйста, можно ли сделать один контроллер для группы страниц.

Задача: заходим на страницу, проверяем, если для нее есть контроллер, то используем его, если нет, используем дефолтный, который выводит текст из базы. Получается для всех текстовых страниц один контроллер.

причём тут контроллер? Например у меня есть модуль page в нём одна модель с которой можно работать везде… и есть SiteController c actionIndex… Если угодно главный, он вобще один у меня.


	public function actionIndex()

	{

            $model=new Pages;

            

            $data['page'] = $model->getPageByAlias('index');

            

            $this->render('index', $data);

	}

Если страница не найдена по псевдониму в БДе… отработает actionError (404), иначе грузится вьюха index, всё! Если я вобще правильно понял о чём речь, лично для меня весьма кривая постановка вопроса.

ps: да и не забыть настроить в конфиге рулезы… типа того


'<page:\w+>'=>'page',

Ну и модуль тоже прописать… если через него работать… короче вариантов структуры масса, суть не меняется.

В вашей ситуации если данных в БД нет, то показать 404, а в моей ситуации…

…Переходим на страницу page/text, проверяем есть ли контроллер PageController и действие actionText, если есть, то выполняем это действие, если нет, то переходим к контроллеру SiteController c actionIndex и далее по вашей схеме, ищем данные в базе, если их нет, то 404

Т.е. мне нужна возможность вставить свой код перед запуском контроллера, что-то типа


if (ControllerExists($controller)) {

      $c = new $controller;

      $c->actionText();

   } else {

      $c = new SiteController();

      $c->actionIndex();

   })