So implementieren Sie ein benutzerdefiniertes Eingabefeld für Seitenzahlen in Laravel 5 Paging, um zu einer benutzerdefinierten Seite zu springen
大家讲道理
大家讲道理 2017-05-16 16:48:07
0
1
1759

Wie im Titel: Es gibt Hunderte von Seiten mit Daten, die aus der Datenbank entnommen wurden. Der von Laravel bereitgestellte Paginator zeigt jedoch nur die Seiten vor und nach der aktuellen Seite an.
Wenn ich aber zu einer Seite springen möchte, die sich nicht in der Paging-Leiste befindet, kann ich die gewünschte Seite nur Schritt für Schritt durch Seitensprünge erreichen.
Gibt es eine Möglichkeit, in der Seitenleiste ein Eingabefeld anzuzeigen, in das der Benutzer eine benutzerdefinierte Seitenzahl eingeben und dann zu dieser Seite springen kann, um die Daten zu durchsuchen?

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

Antworte allen(1)
淡淡烟草味

明确的告诉你是可以的,而且很简单,有两种方法,这两种方法都是在views/vendor/pagination目录下操作:

  1. 修改default.blade.php,类似代码如下:

<ul class="pagination  no-margin pull-right">
    {{-- 首页 --}}
    @if ($paginator->onFirstPage())
        <li class="disabled">
            <span>首页</span>
        </li>
    @else
        <li>
            <a href="{{ $paginator->url(1) . '&limit=' . $paginator->perPage() }}">首页</a>
        </li>
    @endif

    {{-- 上一页 --}}
    @if ($paginator->onFirstPage())
        <li class="disabled">
            <span>上一页</span>
        </li>
    @else
        <li>
            <a href="{{ $paginator->previousPageUrl() . '&limit=' . $paginator->perPage() }}">上一页</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 . '&limit=' . $paginator->perPage() }}">{{ $page }}</a></li>
                @endif
            @endforeach
        @endif
    @endforeach

    {{-- 下一页 --}}
    @if ($paginator->hasMorePages())
        <li>
            <a href="{{ $paginator->nextPageUrl() . '&limit=' . $paginator->perPage() }}">下一页</a>
        </li>
    @else
        <li class="disabled">
            <span>下一页</span>
        </li>
    @endif

    {{-- 尾页 --}}
    @if ($paginator->hasMorePages())
        <li>
            <a href="{{ $paginator->url($paginator->lastPage()) . '&limit=' . $paginator->perPage() }}">尾页</a>
        </li>
    @else
        <li class="disabled">
            <span>尾页</span>
        </li>
    @endif
</ul>
<ul class="clearfix"></ul>

{{-- 增加输入框,跳转任意页码和显示任意条数 --}}
<ul class="pagination pagination-sm no-margin no-padding pull-right">
    <li>
        <span data-toggle="tooltip" data-placement="bottom" title="输入页码,按回车快速跳转">
            第 <input type="text" class="text-center no-padding" value="{{ $paginator->currentPage() }}" id="customPage" data-total-page="{{ $paginator->lastPage() }}" style="width: 50px;"> 页 / 共 {{ $paginator->lastPage() }} 页
        </span>
    </li>
    <li>
        <span data-toggle="tooltip" data-placement="bottom" title="输入每页条数,按回车快速跳转">
            每页 <input type="text" class="text-center no-padding" value="{{ $paginator->perPage() }}" id="customLimit" data-total="{{ $paginator->total() }}" style="width: 50px;"> 条 / 共 {{ $paginator->total() }} 条
        </span>
    </li>
</ul>
  1. 自定义一个分页模板文件,如custom.blade.php,然后在其他模板中的分页方法参数中指定这个分页模板,如{!! $articles->render('vendor/pagination/custom') !!}

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage