在URL管理器中添加ID



我很难理解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
    .
    .
    .
  ),

最新更新