【发布时间】:2018-12-10 17:41:58
【问题描述】:
从 Laravel 5.7 开始,分页器 links() 方法在调用时只显示减少的页面数量。可以使用onEachSide($count)方法自定义链接数量。
‹‹ ‹ 1 2 ... 47 48 49 50 51 52 53 ... 102 103 › ››
我想显示每个页面,以便使用 html <select> 制作页面选择器下拉菜单。
调用onEachSide(9999) 确实有效,但它看起来很脆弱,并且可能会在我正在编写的应用程序可能达到的高页数上中断。
获取所有页面链接的干净方法是什么?
编辑:我正在使用自定义视图,如下所示:
@if ($paginator->hasPages())
<ul class="pagination">
{{-- Previous Page Link --}}
@if ($paginator->onFirstPage())
<li class="disabled">‹‹</li>
<li class="disabled">‹</li>
@else
<li><a href="{{ $paginator->toArray()['first_page_url'] }}">‹‹</a></li>
<li><a href="{{ $paginator->previousPageUrl() }}">‹</a></li>
@endif
{{--Pagination Elements --}}
@foreach ($elements as $element)
@if (is_string($element))
<li class="disabled"><span>{{ $element }}</span></li>
@endif
@if (is_array($element))
@foreach ($element as $page => $url)
@if ($page == $paginator->currentPage())
<li class="active"><span>{{ $page }}</span></li>
@else
<li><a href="{{ $url }}">{{ $page }}</a></li>
@endif
@endforeach
@endif
@endforeach
{{-- Next Page Link --}}
@if ($paginator->hasMorePages())
<li><a href="{{ $paginator->nextPageUrl() }}">›</a></li>
<li><a href="{{ $paginator->nextPageUrl() }}">››</a></li>
@else
<li class="disabled">›</li>
<li class="disabled"><span>››</li>
@endif
</ul>
@endif
不过,$elements 变量似乎已经删除了多余的页面。
【问题讨论】:
-
为什么不用有多少页的信息来倒数呢?
标签: laravel laravel-5.7