Содержание

,

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();