Yii2 LinkPager中的漂亮URL,带有自定义参数

Yii2 LinkPager中的漂亮URL,带有自定义参数,yii2,Yii2,我需要LinkPager来创建页面URL,比如/site/page/1/job/2/order price/3/order exp/4/ 该路由可以与URL管理器配合使用,但LinkPager忽略此路由,并使用?foo=bar参数创建URL $rules = [ 'site/page/<page:\d+>/job/<job_id:\d+>/order-price/<min_price:\d+>/order-exp/<experience:\d+&

我需要
LinkPager
来创建页面URL,比如
/site/page/1/job/2/order price/3/order exp/4/

该路由可以与URL管理器配合使用,但
LinkPager
忽略此路由,并使用
?foo=bar
参数创建URL

$rules = [
    'site/page/<page:\d+>/job/<job_id:\d+>/order-price/<min_price:\d+>/order-exp/<experience:\d+>/' => 'site/index'
];   

'components' => [
    'urlManager' => [
        'enablePrettyUrl' => true,
        'showScriptName' => false,
        'suffix' => '/',
        'rules' => $rules,
    ],
]

$pagination = [
    'pageSize' => 1,
    'forcePageParam' => true,
    'pageSizeParam' => false,
    'params' => [
        'page' => $this->page,                        
        'job' => $this->job_id,
        'order-price' => $this->min_price,
        'order-exp' => $this->experience
    ],
];
$rules=[
'site/page//job//order price//'order exp//'=>'site/index'
];   
“组件”=>[
“urlManager”=>[
“enablePrettyUrl”=>true,
'showScriptName'=>false,
'后缀'=>'/',
“规则”=>$rules,
],
]
$pagination=[
“页面大小”=>1,
“forcePageParam”=>真,
“pageSizeParam”=>false,
“参数”=>[
“页面”=>$this->page,
“作业”=>$this->job\u id,
“订单价格”=>this->minu价格,
“订单经验”=>$this->experience
],
];

您使用的参数名称不正确。如果模式为
site/page//job//order price//order exp//
,则参数名称为:

  • 页面
  • 作业id
  • 最低价格
  • 体验
您应该将规则更改为:

site/page/<page:\d+>/job/<job:\d+>/order-price/<order-price:\d+>/order-exp/<order-exp:\d+>/

仍然不起作用。我已经更改了分页配置和规则配置中的参数名称。现在所有的都具有相同的名称,但结果仍然相同。您是否尝试在您的
urlManager
,@P.Shatalov中添加规则
“/”=>“站点/索引”
[
    'pageSize' => 1,
    'forcePageParam' => true,
    'pageSizeParam' => false,
    'params' => [
        'page' => $this->page,                        
        'job_id' => $this->job_id,
        'min_price' => $this->min_price,
        'experience' => $this->experience,
    ],
];