Yii 2网格视图排序标头-在url中添加自定义参数



当我点击Grid视图的列标题时,它正在被排序,并且在URL中的排序参数正在像page/index?id=12&sort=column1一样被传递。我想在像这样page/index?id=12&sort=column1&custom_id=2排序时添加另一个参数。

请帮我处理这个

您可以在DataProvider中使用如下排序参数进行配置:

$dataProvider = new ActiveDataProvider([
// ...
'sort' => [
'params' => ['custom_id' => 2]
]
]);

注意,根据这个官方文档,如果您显式设置params,排序链接将不会有请求的上下文GET params。

因此,如果你想让你的过滤器持久化,你应该将$_GET数组与注入链接的自定义参数合并。

合并$_GET:的示例

$contextParams = Yii::$app->getRequest()->getQueryParams();
$dataProvider = new ActiveDataProvider([
// ...
'sort' => [
'params' => array_merge($contextParams, ['custom_id' => 2])
]
]);

最新更新