Maison > Questions et réponses > le corps du texte
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.
淡淡烟草味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
目录下操作:
修改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>
自定义一个分页模板文件,如custom.blade.php
,然后在其他模板中的分页方法参数中指定这个分页模板,如{!! $articles->render('vendor/pagination/custom') !!}
default.blade.php
, un code similaire est le suivant : 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') !!}
;🎜🎜🎜