我在新闻模块中使用Gii生成的动作.我有使用id参数(例如example.com/news/view/id/1)的普通视图操作.
当我使用以下代码行时:
Yii::app()->createUrl("news/view",array("id"=>$data->primaryKey))
它生成example.com/news/1(如果$data-> primaryKey为1).这是不正确的.
当我使用以下代码行时:
Yii::app()->createUrl("news/view/id/",array("id"=>$data->primaryKey))
它生成example.com/news/id/id/1(如果$data-> primaryKey为1).
我感到很困惑!在第一种情况下,此函数不会生成id作为参数名称,在第二种情况下,它将生成ID!但在手动添加ID之后.
我应该怎么做才能使用此功能制作正确的网址格式?
Yii::app()->createUrl("news/default/view/id/",array("id"=>$data->primaryKey))
它会生成正确的example.com/news/default/view/id/1,但我不希望使用该默认值!
解决方法:
'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>',
),
),
这将创建如何查找URL.
创建URL时不需要写id参数,因为它是默认值.查看urlmangaer规则:
Yii::app()->createUrl("news/view/",array("id"=>$data->primaryKey)) => example.com/news/id/1
在默认情况下:
Yii::app()->createUrl('/news/default/view', array('id' => $data->primaryKey))
您需要创建urlmanager规则…您要如何查找URL.更多详情here.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。