2012-06-18 151 views
3

我想定义嵌套模块,但在教程中找不到任何完整的解释。Yii框架 - 嵌套模块

我有一个模块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

这是确定接受你自己的答案 –