Товарищи помогите разобраться.
Форма поиска и результат выводятся на одной странице.
Не могу придумать какую логику задать контроллеру, для рендеринга, если перешли на другую страницу в Listview(pager).
Форма отправляет POST запросы.
Проблема в том, что при клике на следующую страницу выборки, контроллер рендерит только форму, т.к.Post переменной нет.
Контроллер:
Код: Выделить всё
public function actionS()
{
$model = new PostsSearchForm();
$dataProvider = null;
if (Yii::$app->request->isPost) {
$model->attributes = $_POST['PostsSearchForm'];
if($model->validate()) {
$dataProvider = $model->search($_POST['PostsSearchForm']['text']);
}
}
return $this->render('view', [
'dataProvider' => $dataProvider,
'searchModel' => $model,
]);
}
Код: Выделить всё
echo PostsSearchWidget::widget([
'model' => $searchModel
]);
if ($dataProvider !== null) {
echo ListView::widget([
'dataProvider' => $dataProvider,
'itemView' => '/posts/posts',
'viewParams' => [],
'pager' => [
'pagination' => $dataProvider->setPagination([
'pageSize' => 1,
'forcePageParam' => false,
'pageSizeParam' => false,
]),
'firstPageLabel' => 'Первая',
'lastPageLabel' => 'Последняя',
'nextPageLabel' => '>',
'prevPageLabel' => '<',
'maxButtonCount' => 3,
],
'summary' => false,
]);
Но что потом с ним делать?