GridView-yii2中如何设置排序路径

How to set sorting route in GridView-yii2

我需要更改 GridView 中的排序路径,例如,如果 GridView 从 default/index 操作加载,排序路径是相同的,但我需要将其设置为 default/sorting

以下 GridView 配置对我不起作用。

echo GridView::widget([
...// other configuration
'sorter'            =>  [
    'class' =>  'yii\widgets\LinkSorter',
    'sort'  =>  new yii\data\Sort(['route' => 'default/sorting'])
],
...// other configuration
]);

您应该通过$dataProvider更改排序路线。

$dataProvider->sort->route = 'posts/default/sorting';

echo GridView::widget([
    'dataProvider' => $dataProvider,

    ...
]);

请注意,对于正确生成的 url,必须完整指定路由,包括模块 ID(如果有)。

官方文档: