2011-08-18 6 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 초기화에서 가져 오기 시도했다 : (이에 대한 단서 하나)

$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 
), 

됐건는 상관없이 내가 해본 적이 무엇을 지금까지는 권한 모듈을 사용할 수 없습니다. 관리자/권한을 얻으려고하면 Unable to resolve the request "admin/rights".이 표시됩니다.

확장자는 중첩되지 않은 모듈 (?r=rights)에서 올바르게 작동합니다. 어떤 아이디어? 중첩 모듈을 다룰 때 실제 코드의 많은 예제를 찾지 못했습니다.

답변

0

경로가 누락 되었습니까? 다음을 추가

시도 :

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

아니요. 깨끗한 URL을 사용하도록 설정하고 해당 경로를 추가했지만 여전히 404 – user638395

+0

이 실제로 main.php 또는 AdminModule.php에 저장됩니까? – user638395

0

나는 여러 rights 모듈이 있다고 생각한다. 특정 ("더 깊은"계층 구조에서) 특정 클래스를 사용하려면 해당 클래스를 선언해야합니다. 다음과 같은 것 :

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