Я пытаюсь использовать Laravel Pagination, и я хочу показать ссылку Previous и Next с номером 1 2 3 …
как я мог это сделать? Я последовал за страницей Laravel: «Простая разбивка на страницы»
Если вы показываете только «Следующие» и «Предыдущие» ссылки в своем представлении с разбивкой по страницам, у вас есть возможность использовать метод simplePaginate для выполнения более эффективного запроса. Это полезно для больших наборов данных, когда вам не требуется отображать точные номера страниц в вашем представлении:
$someUsers = User::where('votes', '>', 100)->simplePaginate(15);
но это все еще показывает номер страницы, когда я делаю это на мой взгляд:
<?php echo $someUsers->links(); ?>
может кто-нибудь помочь
благодаря
tldr; вы хотите использовать метод simplePaginate()
для запроса AND links('some.view')
в paginator (в представлении), чтобы достичь того, что вы просите.
Вот что вам нужно, чтобы показать выбранные ссылки в данном шаблоне:
// inline choose simple links (prev, next) {{ $someUsers->links('pagination::simple') }} // inline choose slider links {{ $someUsers->links('pagination::slider') }} // inline choose slider-3 (default) {{ $someUsers->links('pagination::slider-3') }}
Это шаблоны структуры, размещенные в каталоге laravels: Illuminate/Pagination/views/
Вы всегда можете решить использовать свои собственные шаблоны, для этого просто позвоните:
// assuming you have it in app/views/pagination/my-links.blade.php {{ $someUsers->links('pagination.my-links') }} // or using views namespace (you need to define it first) {{ $someUsers->links('myNamespace::my-links') }}
Конечно, вы можете определить свои ссылки по умолчанию в app/config/view.php
:
// instead of 'pagination' => 'pagination::slider-3', // something like 'pagination' => 'pagination.my-links',
Вам необходимо использовать:
$someUsers = User::where('votes', '>', 100)->simplePaginate(15);
как вы использовали
и в app/config/view.php
вам нужно установить pagination
на pagination
на pagination::simple
(по умолчанию оно установлено в pagination::slider-3
). Тогда у вас будет по умолчанию разбиение на страницы, как на изображении:
Вы также можете настроить пользовательский текст для файла редактирования файлов предыдущих и последующих файлов lang/en/pagination.php
(для другого языка, конечно, вам нужно изменить его в другом каталоге lang). По умолчанию установлено значение:
'previous' => '« Previous', 'next' => 'Next »',
но вы можете изменить его на:
'previous' => '«', 'next' => '»',
и тогда это будет выглядеть как на изображении:
См. Самую нижнюю часть этой страницы руководства, чтобы узнать, как реализовать пользовательский вид для разбивки на страницы. Подводя итог, вам необходимо выполнить следующие шаги:
app/views
. pagination
на pagination
в app/config/views.php
с помощью пути, который Laravel будет использовать для поиска вашего нового представления. Отобразите свой пользовательский вид просмотра в своем представлении следующим образом:
<?php echo with(new ZurbPresenter($paginator))->render(); ?>
Где ZurbPresenter
– это имя класса вашего ведущего страницы.
В config/view.php
:
/* |-------------------------------------------------------------------------- | Pagination View |-------------------------------------------------------------------------- | | This view will be used to render the pagination link output, and can | be easily customized here to show any view you like. A clean view | compatible with Twitter's Bootstrap is given to you by default. | */ 'pagination' => 'pagination::slider-3',
Установите это на simple
.
Источник: http://youtu.be/lIEcyOUcNQk?t=8m00s