2012-06-18 3 views
3

Я пытаюсь определить вложенные модули, но я не смог найти никаких полных объяснений в учебниках.Yii framework - вложенные модули

У меня есть модуль admin, и я хочу добавить еще один модуль внутри imgManager, вот моя структура каталогов:

protected 
    ... 
    modules 
     admin 
      ... 
      modules 
       imgManager 
      ... 
    ... 

Я определил вложенные модули в моем основном конфигурационном файле, как это:

'modules'=>array(
    ... 
      'admin'=> array(
       'modules'=>array( 
        'imgManager' => array(
         'import'=>array('imgManager.*','imgManager.components.*'), 
         'layout'=>'application.views.layouts.column1', 
         'upload_directory'=>'gal_images', 
         'max_file_number' => '10',//max number of files for bulk upload. 
         'max_file_size' => '1mb', 
         ), 
        ), 
      ),  
), 

А вот мой urlManager:

'components'=>array(
    ... 
    'urlManager'=>array(
     'urlFormat'=>'path', 
        'showScriptName'=>false, 
     'rules'=>array(
        'admin'=>'admin', 
        'admin/<controller:\w+>'=>'admin/<controller>', 
        'admin/<controller:\w+>/<action:\w+>'=>'admin/<controller>/<action>', 

      '<controller:\w+>/<id:\d+>'=>'<controller>/view', 
      '<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>', 
      '<controller:\w+>/<action:\w+>'=>'<controller>/<action>', 

     ), 
    ), 

Мне нужно получить доступ к этому вложенному модулю следующим образом: mydomain.com/admin/imgManager, но я получаю Error 404 Unable to resolve the request "admin/imgManager". Где я делаю неправильно?

ответ

4

я должен был определить модуль также здесь:

class AdminModule extends CWebModule 
{ 
    public function init() 
    { 
      ... 
      $this->setModules(array('imgModule')); 
     } 
     ... 
} 
+0

это нормально, чтобы принять свой собственный ответ –