Frameworks Yii框架:创建URL时出错
我正在学习Yii,遇到了创建url的问题。我有一个组件urlManager,如下所示:Frameworks Yii框架:创建URL时出错,frameworks,yii,Frameworks,Yii,我正在学习Yii,遇到了创建url的问题。我有一个组件urlManager,如下所示: 'urlManager'=>array( 'urlFormat'=>'path', 'rules'=>array( '<controller:\w+>/<id:\d+>'=>'<controller
'urlManager'=>array(
'urlFormat'=>'path',
'rules'=>array(
'<controller:\w+>/<id:\d+>'=>'<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
'admin/useredit/<id:\d+>'=>'admin/useredit',
),
'showScriptName'=>false,
'urlSuffix'=>'.html',
),
它正在创建'xxx.com/admin/useredit/.html2',但我希望是'xxx.com/admin/useredit/2.html'
可能出了什么问题
编辑:
问题只存在于CGridView中:
...
'value' => 'CHtml::link("$data->username","'.$this->createUrl('admin/useredit',array('id'=>$data->id)).'".CHtml::encode($data->id))',
...
你需要重新安排你的规则。将使用与路线匹配的第一条规则。因此,在您的例子中,这是
/
。您应该将admin/useredit
规则移到顶部
如果要在CGridView
列中创建URL,则需要在表达式周围添加”
。您也不需要调用createUrl()
,因为CHtml::link
将接受带有参数的路由
'value'=>'CHtml::link($data->username,array("admin/useredit","id"=>$data->id))'
'value'=>'CHtml::link($data->username,array("admin/useredit","id"=>$data->id))'