我有一系列简化我的网络应用程序的 urlManager 规则。例如,Yii附带的vanilla应用程序安装程序创建了“页面”模型,我将页面从 / site / page / view / about 重定向到 / about 。
这很好用,但我不确定Yii是否能够阅读我的规则以确定要创建的最佳URL。目前,如果我使用以下代码, createUrl 将返回标准网址( / site / page / view / about ):
createUrl('/site/page', array('view'=>'about'))
或者,使用createUrl('/about')
会正确链接到首选网址,但这似乎不像第一个示例那样好。此外,在 CMenu 功能中使用此功能不会将此链接关联为当前活动链接。
是否有更好的做法可以遵循此要求? createUrl 的替代使用似乎过于“硬编码”,并且如上所述,与系统逻辑上不起作用(确定活动页面等)。
答案 0 :(得分:1)
使用这种方式创建网址:/ site / page / view / about
Yii::app()->createUrl('site/page', array('view'=>'about'));
这里有更好的提及:Yii Url Mmanagement
答案 1 :(得分:1)
您的规则'<page:\w+>' => 'site/page/view/<page>'
不正确。使用此(假设您使用默认的gii生成的代码)作为第一个规则
'<view:\w+>'=>'site/page'