@suhuxa1

Как правильно реализовать кнопку «показать еще» на laravel?

Привет!
Изучаю ларавел, делаю учебный сайт и тут решил реализовать функцию вывода статей по нажатию кнопки "показать еще". Идея не нова, думаю принцип многим будет понятен. Так вот, в голове сидит только такой порядок действий: Есть контроллер, который обрабатывает главную страницу со статьями, скажем, с 10-ю. (по кнопке "показать еще" подгрузятся еще 10). В контроллере делаем вывод статей из бд, направляем информацию во view и там циклом выводим. Теперь при нажатии на "показать еще" у нас отправляется аякс запрос, который обрабатывает уже другой контроллер. Там мы проверяем сколько страниц уже было подгружено (инфа идет из аякса) и берем из настроек шаг, в нашем случае, 10 статей. Далее в контроллере прямо циклом выводим их, пакуем в json и отправляем отправителю. Идею уже реализовал все работает как часы. Но чую это не совсем правильное решение. Например, сегодня мне понадобилось изменить внешний вид вывода статей. Мне пришлось это делать и во view, и в контроллере, который обрабатывает аякс. Так как можно решить эту задачу проще?
  • Вопрос задан
  • 1262 просмотра
Решения вопроса 2
amelihovv
@amelihovv
Фулстек веб разработчик
Вы можете во втором контроллере вместо отправки статьей json'ом, вернуть вьюху, которая содержит только вывод статей (partial). В первой вьюхе тогда тоже используйте этот partial. И если вам нужно будет что-то изменить, то будете это менять в одном месте (DRY).
Ответ написан
@iaskivsky
Всё намного проще, заходя на страницу получаете по аякс посты в виде массива, далее при нажатии на кнопку добавляете в этот массив новые данные через метод push() или concat()
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Astatroth
@Astatroth
Я тут случайно
Можете использовать обычную пагинацию, встроеную в ларавель, и например эту свистелку.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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