首页 文章

Yii能否正确使用urlManager规则和createUrl函数?

提问于
浏览
1

我有一系列简化我的Web应用程序的 urlManager 规则 . 例如,Yii附带的vanilla应用程序安装程序创建了'page'模型,我将页面从/ site / page / view /重定向到/ about .

这很好用,但我不确定Yii是否能够阅读我的规则以确定要创建的最佳URL . 目前,如果我使用以下代码, createUrl 将返回标准URL(/ site / page / view / about): createUrl('/site/page', array('view'=>'about'))

或者,使用 createUrl('/about') 将正确链接到首选URL,但这似乎不像第一个示例那样好 . 此外,在 CMenu 函数中使用此功能不会将此链接关联为当前活动链接 .

是否有更好的做法可以遵循这一要求? createUrl 的替代使用似乎过于'hard coded',并且如上所述,与系统逻辑上不起作用(确定活动页面等) .

2 回答

  • 1

    您的规则 '<page:\w+>' => 'site/page/view/<page>' 不正确 . 使用此(假设您使用默认的gii生成的代码)作为第一个规则

    '<view:\w+>'=>'site/page'
    
  • 1

    使用这种方式创建url:/ site / page / view / about

    Yii::app()->createUrl('site/page', array('view'=>'about'));
    

    这里有更好的提及:Yii Url Mmanagement

相关问题