Yii 2 Gridview排序标题-在url中添加自定义参数

问题描述 投票:0回答:1

当我单击网格视图的列标题时,它会进行排序,并且在 URL 中排序参数会像

page/index?id=12&sort=column1
一样传递。我想在像这样排序时添加另一个参数
page/index?id=12&sort=column1&custom_id=2

请帮我解决这个问题

php gridview yii2 datagridviewcolumn yii2-grid
1个回答
1
投票

您可以使用排序参数在 DataProvider 中配置它,如下所示:

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

请注意,根据此官方文档,如果您显式设置参数 - 排序链接将不会具有请求的上下文 GET 参数。

因此,如果您希望过滤器持续存在,您应该将 $_GET 数组与注入链接的自定义参数合并。

合并$_GET的例子:

$contextParams = \Yii::$app->getRequest()->getQueryParams();

$dataProvider = new ActiveDataProvider([
    // ...
    'sort' => [
        'params' => array_merge($contextParams, ['custom_id' => 2])
    ]
]);
© www.soinside.com 2019 - 2024. All rights reserved.