Заголовок сортировки Yii 2 Gridview - добавить настраиваемый параметр в URL-адрес
Когда я нажимаю на заголовок столбца в представлении сетки, он сортируется, а в параметре сортировки URL-адресов передается как
page/index?id=12&sort=column1
. Я хочу добавить еще один параметр при такой сортировке
page/index?id=12&sort=column1&custom_id=2
.
Пожалуйста помоги мне с этим
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])
]
]);