Заголовок сортировки 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])
    ]
]);
Другие вопросы по тегам