2011-08-18 53 views
0

我有我使用后台的用户管理等,这一个管理模块...Yii的访问嵌套模块

我想有“权利”扩展这个管理模块下筑巢,并能够得到与mysite.com/index.php?r=admin/rights

显然它,我需要在父申报子模块,因此下AdminModule初始化,我设置:

$this->setModules(array(
    'rights'=>array(
     'install'=>true, // rights - Enables the installer 
     'baseUrl'=>'/admin/rights', 
     'debug'=>true, 
    ), 
)); 

我也试着从AdminModule进口的init(这个无能一个)

$this->setImport(array(
    'admin.models.*', 
    'admin.components.*', 
    'admin.modules.rights.*', 
    'admin.modules.rights.components.*', 
)); 

而且我已经试过宣布在main.php配置模块:

'admin'=>array(
    'modules'=>array(
     'rights'=>array(
      'install'=>true, // rights - Enables the installer 
      'baseUrl'=>'/admin/rights', 
      'debug'=>true, 
     ), 
    ), 
), 

即使将其导入有:

'import'=>array(
    'application.models.*', 
    'application.components.*', 
    'application.modules.admin.*', 
    'application.modules.admin.modules.rights.*', // rights 
    'application.modules.admin.modules.rights.components.*', // rights 
), 

Anywho,不管是什么我已经试过到目前为止,我无法进入版权模块。它试图获得管理员权限时给我Unable to resolve the request "admin/rights".

该扩展在?r=rights处作为非嵌套模块正常工作。有任何想法吗?在处理嵌套模块时,我没有找到很多实际代码的例子。

回答

0

问题可能是缺失的路线吗?

尝试添加以下内容:

<module:\w+>/<controller:\w+>/<action:\w+>'=>'<module>/<controller>/<action> 
+0

不,没有运气。我启用了干净的网址,并添加了该路线,但实际上还是获得了404 – user638395

+0

,这是否会在main.php或AdminModule.php中出现? – user638395

0

我猜你有多个rights模块。要使用特定的(从“更深”的层次结构),你必须声明它的类。类似的东西:

'admin'=>array(
    'modules'=>array(
     'rights'=>array(
      'class' => 'application.modules.admin.modules.rights.RightsModule' 
     ), 
    ), 
),