Yii2 ActiveDataProvider / Page / pagination, sort

В основном применяется для вывода через Ajax

Пример ActiveDataProvider с указанием пейджера и сортировки по умолчанию

use yii\data\ActiveDataProvider; $provider = new ActiveDataProvider([ 'query' => Form::find()->where(['id' => $forms]), 'sort'=>array( 'defaultOrder'=>['id' => SORT_DESC], ), 'pagination' => [ 'pageSize' => 20, //'pageParam' => 'page', 'validatePage' => false, ], ]); return $provider->getModels();

Infinite Ajax Scroll

Ajax подгрузка контента (пейджинг) без перезагрузки страниц

https://github.com/kop/yii2-scroll-pager

use yii\ echo ListView::widget([ 'dataProvider' => $dataProvider, 'itemOptions' => ['class' => 'item'], 'itemView' => '_item_view', 'pager' => ['class' => \kop\y2sp\ScrollPager::className()] ]);

Pjax

Загрузка контента страниц без перезагрузки страницы с сохранением истории переходов Урл в строке браузенра изменяются

Pjax::begin(); echo ListView::widget([ 'dataProvider' => $dataProvider, 'itemOptions' => ['class' => 'item'], 'itemView' => '_item_view', 'pager' => ['class' => \kop\y2sp\ScrollPager::className()] ]); Pjax::end();