我很难理解yii的URL经理。我有一个去此createurl('site/category',array('id'=$id))
的URL,但它不起作用:
站点/类别/1?cat =附件
当我去这里使用此URL时,它有效:
/site/category/id/1?cat =附件
如果我应该自定义写作,它是否在组件下?如果是这样,下一步将是什么?不幸的是,我只是不了解这一点。
'urlManager'=>array(
'urlFormat'=>'path',
'showScriptName'=>false,
'appendParams' => true,
'rules'=>array(
'site/category/id/<id:d+>/<item:w+>'=>'<controller>/<action>',
'<module:w+>/<controller:w+>/<action:w+>'=>'<module>/<controller>/<action>',
'<controller:w+>/<action:w+>/<id:d+>'=>'<controller>/<action>',
'<controller:w+>/<action:w+>'=>'<controller>/<action>',
),
这个
createurl('site/category',array('id'=$id))
应该是:
createurl('site/category',array('id' => $id))
您要生成什么URL?
您的规则说将生成
site/category/id/{号码}/iteminletters
要使您的工作您需要通过项目参数传递:
createurl('site/category',array('id' => $id, 'item' => 'MyItem'))
只需像这样更改您的规则:
'rules'=>array(
'site/category/<id:d+>/<item:w+>'=>'<controller>/<action>', // removed id
.
.
.
),