首页 文章

在Yii中创建模块urlManager规则

提问于
浏览
1

我正在尝试设置一个模块,因此在没有控制器的情况下调用的任何操作都将在DefaultController上执行 . 我已经设法通过向我的站点配置文件添加urlManager规则来重定向到适当的控制器 .

'urlManager'=>array(
    'urlFormat'=>'path',
    'rules'=>array(
        ...
        'module/'=>'module/default/',
        ...
    ),
    'showScriptName'=>false,
),

这工作正常,但我宁愿在模块中包含规则(在<Module> Module.php中)或配置文件的模块部分 .

// included modules
'modules'=>array(
    'module',
),

有没有办法实现这个目标?

1 回答

  • 1

    由于大多数配置文件只是一个大数组,因此很难将规则分解到不同的地方 . 你可以在config块之外以编程方式创建规则数组,然后你的urlManager配置看起来像:

    'urlManager'=>array(
        'urlFormat'=>'path',
        'rules'=>$rules,
        'showScriptName'=>false,
    

    还有一个CUrlManager::addRules方法,但你必须看看你想把它放在哪里可以用于引导程序 .

相关问题