Maison  >  Questions et réponses  >  le corps du texte

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

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.

大家讲道理大家讲道理2736 Il y a quelques jours1737

répondre à tous(1)je répondrai

  • 淡淡烟草味

    淡淡烟草味2017-05-16 16:50:07

    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') !!};🎜🎜🎜

        répondre
        0
  • Annulerrépondre