yiicod / yii2-pagesizepager
为 Yii 2 框架的分页扩展
1.0.1
2018-02-18 21:11 UTC
Requires
- liyunfang/yii2-widget-linkpager: *
- yiisoft/yii2: ~2.0.8
Requires (Dev)
This package is auto-updated.
Last update: 2024-08-27 01:23:33 UTC
README
提供添加任何网格的页面大小分页器功能,并将选定的值保存到文件存储中。这是 liyunfang\yii2-widget-linkpager 的分支。
用法
您可以选择现有的提供者
- 文件提供者
- Mongo提供者(您应该有 https://github.com/yiisoft/yii2-mongodb)
- 或者您也可以编写自己的提供者并配置依赖容器
'container' => [ 'singletons' => [ \yiicod\pagesizepager\providers\ProviderInterface::class => [ 'class' => \yiicod\pagesizepager\providers\MongoProvider::class ] ], ],
为任何网格添加
echo \yii\grid\GridView::widget([ 'id' => 'uniqueGridId', 'dataProvider' => $dataProvider, 'filterSelector' => yiicod\perpager\widgets\PageSizePager::getFilterSelector($dataProvider), 'pager' => [ 'class' => yiicod\perpager\widgets\PageSizePager::class, 'gridIdentifier' => 'uniqueGridId', ] ]);
然后在数据提供者分页部分添加(对于所选网格)
$dataProvider = new ActiveDataProvider([ 'query' => $query, 'pagination' => [ 'pageSize' => \Yii::$container->get(\yiicod\pagesizepager\providers\ProviderInterface::class)->getPageSize('uniqueGridId'), ], ]);
注意:'uniqueGridId' 必须在所有地方都相同,才能正确保存网格页面大小