Как можно получить данные из метода модели поиска (SearchModel->search) и сделать для них пагинацию или пагинацию ListView с этими данными
У меня получается передать данные в ListView, но я не смог найти как сделать для этого пагинацию страниц. Я думаю, что возможно легче будет получить данные из метода search у SearchModel и выполнить для них пагинацию, но не знаю как.
Вот передаю данные из контроллера:
public function actionIndex()
{
$mycookies = Yii::$app->request->cookies;
$bookmarks_ids = unserialize($mycookies->getValue('bookmarks'));
$this->layout = 'main';
$searchModel = new FranchiseSearch();
$dataProvider = $searchModel->search(Yii::$app->request->queryParams);
/*
$dataProvider = new ActiveDataProvider([
'query' =>'query',
'pagination' => [
'pageSize' => 10,
],
]);*/
//$dataProvider = $searchModel->search(Yii::$app->request->queryParams);
//$pages = new Pagination(['totalCount' => $dataProvider->count]);
$news = News::find()->where(['active'=>1])->all();
$bookmarks = Franchise::find()->where(['id'=> $bookmarks_ids])->all();
$count_bookmarks = Franchise::find()->where(['id'=> $bookmarks_ids])->count();
$this->view->params['bookmarks'] = $bookmarks_ids ? $bookmarks_ids : array();
//print_r(
// Yii::$app->request->get());
return $this->render('index', [
'searchModel' => $searchModel,
'dataProvider' => $dataProvider,
'news' => $news,
'bookmarks' => $bookmarks,
'count_bookmarks' => $count_bookmarks,
]);
}
Вот код из view с ListView:
<?=
ListView::widget([
'dataProvider' => $dataProvider,
'summary' => false,
'emptyText' => 'Ничего не найдено!',
'itemView' => function ($model, $key, $index, $widget) {
return $this->render('list_item',['model' => $model]);
},
'options' => [
'tag' => 'div',
'class' => 'row row-of-result-franch-search',
'id' => 'list-wrapper',
],
'itemOptions' => [
'tag' => 'div',
'class' => 'col-md-4 col-plit-franch',
],
]
)
?>