fangxinfa 2016-01-20 15:22:35 5057次浏览 1条回复 0 2 0

linkpager中的分页,如果设置了pageSize,就好会多一个参数出来,很烦人,好像没有参数可以设置。 找到yii\data\Pagination类, 第273行开始,注释掉

/*if ($pageSize != $this->defaultPageSize) {
    $params[$this->pageSizeParam] = $pageSize;
} else {
    unset($params[$this->pageSizeParam]);
}*/

换成

unset($params[$this->pageSizeParam]);

这样就没有per-pager参数了,貌似没有问题。还有url得好看点,那就配置个route规则,如下:

"<controller:\w+>/<action:\w+>/<page:\d+>" => "<controller>/<action>",
觉得很赞
  • 回复于 2016-01-21 10:08 举报

    首先谢谢你的代码分享给我了启发,既然判断$pageSize != $this->defaultPageSize,那么我们为什么不设置默认值呢,经测试,设置过后就去掉了烦人的per-pager参数了

    $searchModel = new CmsArticleSearch();
    $dataProvider = $searchModel->search(Yii::$app->request->queryParams);
    $dataProvider->pagination = [
       'defaultPageSize' => 1
    ];
    
    , 觉得很赞
您需要登录后才可以回复。登录 | 立即注册