要修改laravel分頁過長,需要把模版先生成出來。
php artisan vendor:publish
選擇最後一個。原來mail的模版也在這裡啊……
然後修改 bootstrap-4.blade.php 這個檔案,因為分頁就在這裡。
因為使用layui的分頁(不使用bootstrap,只用layuiadmin),所以找到分頁模版,修改class。
@if ($paginator->hasPages())
<div class="layui-laypage">
{{-- Previous Page Link --}}
@if ($paginator->onFirstPage())
<a class="layui-laypage-prev layui-disabled" aria-label="@lang('pagination.previous')">
上頁
</a>
@else
<a class="layui-laypage-prev" href="{{ $paginator->previousPageUrl() }}" rel="prev"
aria-label="@lang('pagination.previous')">上頁</a>
@endif
@if($paginator->currentPage() > 3)
<a href="{{ $paginator->url(1) }}">1</a>
@endif
@if($paginator->currentPage() > 4)
<a href="javascript:;">...</a>
@endif
{{-- Pagination Elements --}}
@foreach ($elements as $element)
{{-- Array Of Links --}}
@if (is_array($element))
@foreach ($element as $page => $url)
@if($page >= $paginator->currentPage() - 2 && $page <= $paginator->currentPage() + 2)
@if ($page == $paginator->currentPage())
<span class="layui-laypage-curr"><em
class="layui-laypage-em"></em><em>{{ $page }}</em></span>
@else
<a href="{{ $url }}">{{ $page }}</a>
@endif
@endif
@endforeach
@endif
@endforeach
@if($paginator->currentPage() < $paginator->lastPage() - 3)
<a href="javascript:;">...</a>
@endif
@if($paginator->currentPage() < $paginator->lastPage() - 2)
<a href="{{ $paginator->url($paginator->lastPage()) }}">{{ $paginator->lastPage() }}</a>
@endif
{{-- Next Page Link --}}
@if ($paginator->hasMorePages())
<a class="layui-laypage-next" href="{{ $paginator->nextPageUrl() }}" rel="next"
aria-label="@lang('pagination.next')">下頁</a>
@else
<a class="layui-laypage-next layui-disabled" aria-label="@lang('pagination.next')">
下頁
</a>
@endif
</div>
@endif
效果:
參考:https://joelennon.com/reducing-the-number-...
使用這種修改模版的分頁,不需要使用layui的js呼叫方式,只需要使用laravel的一行程式碼就可以了:
{!! $users->render() !!}
就是模版單一了,所有分頁都一樣的模樣。
本作品採用《CC 協議》,轉載必須註明作者和本文連結