gridview - Yii 2 Gridview 排序标头 - 在 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]
]
]);
请注意,根据 此官方文档,如果您明确设置参数 - 排序链接将没有请求的上下文 GET 参数。
因此,如果您希望过滤器持续存在,则应将 $_GET 数组与注入链接的自定义参数合并。
合并 $_GET 的示例:
$contextParams = \Yii::$app->getRequest()->getQueryParams();
$dataProvider = new ActiveDataProvider([
// ...
'sort' => [
'params' => array_merge($contextParams, ['custom_id' => 2])
]
]);
推荐阅读
- bash - bash脚本js文件选择器
- javascript - angular4 与 jwplayer 集成不适用于 ie,但适用于 Chrome、Firefox、Edge
- python - 如何在管理站点中禁用多对多字段的数据
- node.js - 如何使用物化 css 设计 ejs 页面
- polymer - Polymer 2 计算绑定与 dom-repeat 中的嵌套函数
- json - 异步问题:从 Swift 调用 Web Api
- dynamics-365 - 插件注册中未显示自定义插件动态 365 v9
- google-cloud-platform - 谷歌云负载均衡器:internalForwardingRulesLimitsExceeded
- java - 如何在 Intellij IDEA 中为 Maven Web 应用程序重新加载 Java 类
- lucene - 在 Lucene 4.8.0 SearchManager.MaybeRefresh 或 DirectoryReader.openIfchange() 中不起作用