2011-08-18 77 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' 
     ), 
    ), 
),