При вводе идентификатора модуля в url, например http://site.ru/?r=admin, я хочу попасть сразу на default controller этого модуля, т.е. по пути admin/default/index. Он же ищет контроллер admin и его default controller, не находить и выдает ошибку. Как фрейморк настроить чтобы он вначале проверять есть ли такой модуль и если есть то потом уже искал контролер и действие по умолчанию?
Модуль должен быть прописан в конфиге, в секции modules.
А можно ли опустить в запросах default module, т.е. например у меня есть модуль frontend я задал в настройках
return array(
...
'defaultController' => 'frontend/default',
...
);
и теперь хочу набрать в url - default/action2 и чтобы он искал в модуле frontend этот контроллер и действие, т.е. есть ли какое-нибудь свойство типа defaultModule?
Просто хочется не только backend вынести в отдельную папку admin в виде отдельного модуля, но и frontend тоже на уровне файлов положить в отдельную папку. По первому вопросу понял, спасибо.
https://github.com/clevertech/YiiBoilerplate думаю это вам поможет. Если нужен bootstrap посмотрите Yiinitializer.
При таком делении нужны свои конфиги для frontend/backend. Реализовывать это в модулях плохо!
Посмотрел, смущает две роут директории, буду еще вникать, стоит ли новичку юзать такие песочницы?
Вот интересная статья http://habrahabr.ru/post/117457/ без Boilerplate
Вот с http://habrahabr.ru/post/180679/
Стоит 1 день потратить и разобраться, нежели в будущем косо смотреть на плохую архитектуру.
А про модули забудьте. Модули не для этих целей, на крайний случай делите с помощью RBAC.
Я начал делать платформу со структурой из 6 ролей пользователей, из которых 3 с разной степенью администраторы. Мне данное деление неподходит, и все делается с помощью RBAC. Смотрите по своим задачам и выбирайте архитектуру.