url - 在Yii中,如何在urlManager规则中处理获取参数?

  显示原文与译文双语对照的内容
0 0

我将查询字符串以 GET 参数 q的形式传递给 SearchController::actionDefault:

/search/?q=...

但是,我需要定义一个规则,该规则会自动使用某些值或者定义另一个参数来初始化这个参数。

如果我请求 mysite.com/showall,我需要得到与 /search/?q=* 一样的内容

这是我尝试过的:

'/showall' => '/search/default/index/?r=*',

时间:原作者:6个回答

0 0

我解决了这个问题 !

可以在urlManager中设置 defaultParams,而finaly在应用程序配置 file: 中看起来就像

...
'components' => array(
. . .
 'urlManager' => array(
. . .
 'rules' => array(
. . ..
 '/show_all' => array( '/search/default/index', 'defaultParams' => array('show_all'=>'-') ),
. . ..
 ),
. . .
 ),
. . .
),
原作者:
0 0

当你获得不同的请求并且你需要将它的映射到相同的GET 参数时,接受的答案也。

例如我需要所有这些请求:

  • user/pics
  • user/photos
  • user/pictures

实际生成:user/index?content=photos

这可能是一种方法:

'<controller:user>/(<content:photos>|pics|pictures)' => array('<controller>/index', 'defaultParams'=>array('content'=>'photos')),
原作者:
...