Laravel 使用 layui 分頁過長

andu發表於2020-01-10

要修改laravel分頁過長,需要把模版先生成出來。

php artisan vendor:publish

laravel使用layui 分頁過長
選擇最後一個。原來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

效果:

laravel使用layui 分頁過長

參考:https://joelennon.com/reducing-the-number-...

使用這種修改模版的分頁,不需要使用layui的js呼叫方式,只需要使用laravel的一行程式碼就可以了:

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

就是模版單一了,所有分頁都一樣的模樣。

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章