Задать вопрос

Как в Laravel 5.1 изменить pagination?

Использую стандартный постраничный вывод laravel.

{!! $users->render() !!}

laravel генерирует следующее:

<ul class="pagination">
        <li>
            <a href="http://test.ru/users/?page=1" rel="prev">«</a></li>
            <li><a href="http://test.ru/users/?page=1">1</a></li>
            <li class="active"><span>2</span></li>
            <li class="disabled"><span>»</span>
        </li>
    </ul>


Вопрос в том как сделать что бы laravel вместо
test.ru/users/?page=1

для первой и предыдущей страницы выводил в href
test.ru/users

Иначе получается что 2 страницы с одним и тем же контентом.
test.ru/users
и
test.ru/users/?page=1
  • Вопрос задан
  • 2509 просмотров
Подписаться 6 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Loftschool
    Комплексное обучение PHP
    6 недель
    Далее
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Skillbox
    Профессия PHP-разработчик с нуля до PRO
    7 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
Tesla
@Tesla
Правильно было бы сделать свой Paginator, унаследовать его от Illuminate\Pagination\Paginator или Illuminate\Pagination\LengthAwarePaginator, и в методе url() добавить проверку на вывод первой страницы. Но тогда придется создавать пагинатор вручную, передавая ему необходимые параметры.

Странно, что в Illuminate\Database\Eloquent\Builder Paginator вызывается напрямую, а не через DI, это решило бы все проблемы.
Ответ написан
tridcatij
@tridcatij
Если лень заморачиваться, то самый кустарный способ - прописать редирект с test.ru/users/?page=1 на test.ru/users
Ответ написан
Ваш ответ на вопрос

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

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