У меня ваш пример только с кнопкой "Показать еще". Подправьте мой код под себя
1) Скройте пагинацию
2) Это под GridView
<?php
echo Html::a('Показать ещё', [Url::to('').'#ddd'], [
class' => 'btn btn-default',
'data' => [
'method' => 'post',
'params' => [
'more' => $more,
],
'pjax' => 1,
],
'id' => 'ddd',
]);
?>
3) Это в контроллер
if($more = (int)Yii::$app->request->post()['more']){
$dataProvider->pagination->pageSize += $more;
}
return $this->render('index',[
/**/
'more' => $more > 0 ? $more + 10 : 10,
]);
Всё смысл такой, изначально pageSize по умолчанию, а кнопка показать ещё post с параметром more который будет увеличиваться на 10 при каждом нажатии. Url::to#dd для того чтобы фильтр сохранился и был скролл к кнопке.