Как можно перезагрузить страницу с выводом количество записей на странице?

Не знаю какой правильно сделать. Есть страница где выводиться количество записей и dropdown где указывается сколько показывать количество записей.
Я пробовал примерно так сделать
<?php Pjax::begin([
            'id' => 'pjax-rows'
    ]) ?>
    <div>
        <?php foreach ($model as $posts): ?>
            <div><?= Html::img('/'.$posts->image_path) ?></div>
            <h3><?= $posts->title ?></h3>
            <div><?= $posts->description ?></div>
            <div><?= Html::a('Подробнее', \yii\helpers\Url::to(['site/post', 'id' => $posts->id])) ?></div>
            <hr/>
        <?php endforeach; ?>
    </div>
    <div><?= Html::dropDownList('countRow', null, [
            10 => 'Показат 10 страниц',
            25 => 'Показат 25 страниц',
            50 => 'Показат 50 страниц'
        ], [
                'class' => 'count-rows',
                'data-url' => \yii\helpers\Url::to(['site/index'])
        ]) ?>
    </div>
    <?php Pjax::end() ?>

<?php
$script = <<<JS
$('.count-rows').click(function() {
    let select = $(this);
    location.reload(select.data('url') + '&countRow=' + select.val());
})
JS;

$this->registerJs($script);
?>


И в контроллере
public function actionIndex()
    {
        $query = News::find()->with('user')->where(['status' => News::NEWS_ACTIVE]);
        $request = Yii::$app->request->get('countRow');
        $count = $request ? $request : 1;
        $pages = new Pagination(['totalCount' => $query->count(), 'pageSize' => $count]);
        $posts = $query->offset($pages->offset)
            ->limit($pages->limit)
            ->all();
        return $this->render('index', [
            'model' => $posts,
            'pages' => $pages
        ]);
    }

Только пока что не получается так что при указание 50 допустим записей, показывалась 50 записей. Пока что reload не срабатывает так как я хочу
  • Вопрос задан
  • 40 просмотров
Пригласить эксперта
Ответы на вопрос 2
@morricone85
Пока что reload не срабатывает так как я хочу


А что показывает?
Ответ написан
у pjax есть стандартный метод перезагрузки содержимого контейнера.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы