【问题标题】:Yii 2 Gridview sorting header- add custom parameter in the urlYii 2 Gridview 排序标头 - 在 url 中添加自定义参数
【发布时间】:2021-05-07 10:48:08
【问题描述】:

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

请帮帮我

【问题讨论】:

    标签: gridview yii2 datagridviewcolumn yii2-grid


    【解决方案1】:

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

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

    请注意,根据this official documentation,如果您明确设置参数 - 排序链接将没有请求的上下文 GET 参数。

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

    合并 $_GET 的例子:

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

    【讨论】:

    • 知道了。非常感谢!
    猜你喜欢
    • 2012-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-18
    • 1970-01-01
    • 2012-01-21
    • 1970-01-01
    • 2012-02-28
    相关资源
    最近更新 更多