Приведу два простых примера, как указать количество выводимых записей (pageSize) для виджетов GridView И ListView.
Итак, первый вариант — указать параметр при создании DataProvider, например:
$searchModel = new PagesSearch(); $dataProvider = $searchModel->search(Yii::$app->request->queryParams); $dataProvider->pagination->pageSize=15;
Этот метод идеально подходит, если у вас несложное приложение, а также в случае разного количества выводимых строк на разных страницах.
Если же у Вас много одинаковых таблиц или списков — есть смысл отнаследоваться от базового класса и указать это свойство в одном месте, при этом изменить вызовы базовых классов на кастомные. Например:
class ActiveDataProvider extends \yii\data\ActiveDataProvider{
public function init(){
$this->pagination->pageSize = 15 ;
parent::init();
}
}
При этом при создании объекта DataProvider Вам следует изменить в секции use подключение \yii\data\ActiveDataProvider на namespace Вашего кастомного класса, например, \backend\components\ActiveDataProvider.
В таком случае нет необходимости указывать pageSize при каждом создании экземпляра.