0

バックエンドのユーザー管理などに使用している管理モジュールがあります...

この管理モジュールの下にネストされた「権利」拡張機能を持ち、それを取得できるようにしたいと思いますmysite.com/index.php?r=admin/rights

どうやら私は親で子モジュールを宣言する必要があるので、AdminModule initの下で、私は設定しました:

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

とにかく、これまでに何を試しても、権利モジュールに到達できません。Unable to resolve the request "admin/rights".管理者/権限にアクセスしようとすると、それが表示されます。

拡張機能は、ネストされていないモジュールとして正常に動作し?r=rightsます。何か案は?ネストされたモジュールを扱うときの実際のコードの例はあまり見つかりませんでした。

4

2 に答える 2

0

問題はルートの欠落でしょうか?

以下を追加してみてください。

<module:\w+>/<controller:\w+>/<action:\w+>'=>'<module>/<controller>/<action>
于 2011-08-19T08:55:10.313 に答える
0

rights複数のモジュールがあると思います。特定のものを (「より深い」階層から) 使用するには、そのクラスを宣言する必要があります。そんな感じ:

'admin'=>array(
    'modules'=>array(
        'rights'=>array(
            'class' => 'application.modules.admin.modules.rights.RightsModule'
         ),
     ),
),
于 2016-02-07T11:38:23.977 に答える