Comment implémenter une zone de saisie de numéro de page personnalisée dans la pagination Laravel 5 pour accéder à une page personnalisée
大家讲道理
大家讲道理 2017-05-16 16:48:07
0
1
1734

Comme dans le titre : des centaines de pages de données sont extraites de la base de données. Cependant, le paginateur fourni par laravel n'affiche que les pages avant et après la page actuelle.
Mais lorsque je souhaite accéder à une page qui ne se trouve pas sur la barre de pagination, je ne peux accéder à la page souhaitée qu'étape par étape via des sauts de page.
Existe-t-il un moyen d'afficher une zone de saisie sur la barre de pagination, dans laquelle l'utilisateur peut saisir un numéro de page personnalisé, puis accéder à cette page pour parcourir les données.

大家讲道理
大家讲道理

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

répondre à tous(1)
淡淡烟草味

Je vous dis clairement que c'est possible, et c'est très simple. Il existe deux méthodes, toutes deux opérées sous le répertoire views/vendor/pagination : 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') !!}

    1. Modifiez default.blade.php, un code similaire est le suivant :
    🎜 rrreee
    1. 🎜Personnalisez un fichier de modèle de pagination, tel que custom.blade.php, puis spécifiez ce modèle de pagination dans les paramètres de méthode de pagination d'autres modèles, tels que { ! ! $articles->render('vendor/pagination/custom') !!};🎜🎜🎜
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!