Skip to content

Instantly share code, notes, and snippets.

@lamngockhuong
Last active December 29, 2017 09:09
Show Gist options
  • Select an option

  • Save lamngockhuong/83122674c426c89f7eb80e50f7d2b0d4 to your computer and use it in GitHub Desktop.

Select an option

Save lamngockhuong/83122674c426c89f7eb80e50f7d2b0d4 to your computer and use it in GitHub Desktop.
[Laravel Custom Pagination] #laravel

custom.blade.php

@if ($paginator->hasPages())
    <ul class="pagination pagination-sm no-margin pull-right">
        {{-- Previous Page Link --}}
        @if ($paginator->onFirstPage())
            <li class="disabled"><span>«</span></li>
        @else
            <li><a href="{{ $paginator->previousPageUrl() }}" rel="prev">«</a></li>
        @endif


        {{-- Pagination Elements --}}
        @foreach ($elements as $element)
            {{--"Three Dots" Separator --}}
            @if (is_string($element))
                <li class="disabled"><span>{{ $element }}</span></li>
            @endif


            {{--Array Of Links--}}
            @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() }}" rel="next">»</a></li>
        @else
            <li class="disabled"><span>»</span></li>
        @endif
    </ul>
@endif

or

@if ($paginator->hasPages())
    <ul class="pagination pagination-sm no-margin pull-right">
        {{-- Previous Page Link --}}
        @if ($paginator->onFirstPage())
            <li class="disabled"><span>«</span></li>
        @else
            <li><a href="{{ $paginator->previousPageUrl() }}" rel="prev">«</a></li>
        @endif

        {{-- Pagination Elements --}}
        @foreach ($elements as $element)
            {{-- Array Of Links --}}
            @if (is_array($element))
                @foreach ($element as $page => $url)
                    @if ($page === $paginator->currentPage())
                        <li class="active pageNumber"><span>{{ $page }}</span></li>
                    @elseif (($page === $paginator->currentPage() + 1 || $page === $paginator->currentPage() + 2)
                     || $page === $paginator->lastPage())
                        <li><a class="pageNumber" href="{{ $url }}">{{ $page }}</a></li>
                    @elseif ($page === $paginator->lastPage()-1)
                        <li class="disabled"><span>...</span></li>
                    @endif
                @endforeach
            @endif
        @endforeach

        {{-- Next Page Link --}}
        @if ($paginator->hasMorePages())
            <li><a href="{{ $paginator->nextPageUrl() }}" rel="next">»</a></li>
        @else
            <li class="disabled"><span>»</span></li>
        @endif
    </ul>
@endif


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment