«Модуль администратора», принимающий Yii Framework - PullRequest
0 голосов
/ 28 февраля 2010

У меня есть модуль «admin», и я хочу, чтобы он обслуживал «динамические контроллеры», то есть для обеспечения поведения по умолчанию для контроллеров, которые на самом деле не существуют («виртуальные контроллеры»).

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

?r=admin/users/index

запрашивается, он вызывает «виртуальный контроллер» «UserController» AdminModule, который по умолчанию использует этот механизм обмена сообщениями для уведомления реального модуля «UsersModule», на который он может ответить на запрос.

Я думал об имитации этого поведения в AdminModule :: init (), но в этот момент у меня нет способа решить, может ли действие быть обработано реальным контроллером или нет, или, по крайней мере, я не знаю, как сделай это.

Это из-за того, как работает Yii: например, снизу вверх, контроллер - это тот, который отображает представление и макет приложения (или модуля, если он существует). Я не думаю, что у модуля даже есть слово, чтобы сказать об обработке данного контроллера + действие или нет.

Напомним, что я ищу вид CWebModule :: missingController ($ controllerId, $ actionId), такой же, как CController :: missingAction ($ actionId), или обходной путь для имитации этого.

Это может быть в CWebModule :: init () или где-нибудь, где я могу узнать

  1. существует ли контроллер на самом деле, и в этом случае его задача - обработать его
  2. $ actionID и $ controllerID
  3. существует ли модуль $ controllerID (я не набрал его неправильно, в r = admin / users / index «users» - это фактический модуль, как указано в конфигурации приложения).

1 Ответ

0 голосов
/ 08 марта 2010
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...