use*_*823 5 php laravel twitter-bootstrap-3 laravel-5.3
我目前正在使用Laravel 5.3,想知道是否可以自定义“三点”销毁器。(跳过第9-10页,这太晚了)
当前,如果有11个以上的页面,则将启动三个点...如果您的站点响应,这不是安静的方法。如果页面太多,则分为两行。
我找不到关于$ resource-> links()选项的任何信息。但是,如果有请告诉我!非常感激。
编辑:它与以下功能有关:vendor / laravel / framework / src / Illuminate / Pagination / LengthAwarePaginator.php(页面:128,render())。当前函数不支持第二个变量。所以我想我必须重建它?
这是 Laravel 5.5+ 的解决方案。这是它的作用:
<!-- Pagination Elements -->
@foreach ($elements as $element)
<!-- Array Of Links -->
@foreach ($element as $page => $url)
<!-- Use three dots when current page is greater than 4. -->
@if ($paginator->currentPage() > 4 && $page === 2)
<li class="page-item disabled"><span class="page-link">...</span></li>
@endif
<!-- Show active page else show the first and last two pages from current page. -->
@if ($page == $paginator->currentPage())
<li class="page-item active"><span class="page-link">{{ $page }}</span></li>
@elseif ($page === $paginator->currentPage() + 1 || $page === $paginator->currentPage() + 2 || $page === $paginator->currentPage() - 1 || $page === $paginator->currentPage() - 2 || $page === $paginator->lastPage() || $page === 1)
<li class="page-item"><a class="page-link" href="{{ $url }}">{{ $page }}</a></li>
@endif
<!-- Use three dots when current page is away from end. -->
@if ($paginator->currentPage() < $paginator->lastPage() - 3 && $page === $paginator->lastPage() - 1)
<li class="page-item disabled"><span class="page-link">...</span></li>
@endif
@endforeach
@endforeach
Run Code Online (Sandbox Code Playgroud)
输出:
添加到上一个响应中,一旦使用 artisan 命令php artisanvendor:publish生成供应商视图文件,您就可以在该文件夹中创建一个新文件并调用它,例如custom.blade.php并输入以下代码:
@if ($paginator->hasPages())
<ul class="custom-pagination">
{{-- Previous Page Link --}}
@if ($paginator->onFirstPage())
<li class="disabled pageNumber"><span>« Prev</span></li>
@else
<li><a class="pageNumber" 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 class="pageNumber" href="{{ $paginator->nextPageUrl() }}" rel="next">Next »</a></li>
@else
<li class="disabled pageNumber"><span>Next »</span></li>
@endif
</ul>@endif
Run Code Online (Sandbox Code Playgroud)
三个点的代码的重要部分位于 {{-- Array Of Links --}} 部分。我认为这或多或少满足了您的需要,但可能需要额外的调整。
然后你可以在你的视图中使用它,如下所示:
<div class="pagination">
@if ($users instanceof \Illuminate\Pagination\LengthAwarePaginator)
{{ $users->links('vendor.pagination.custom') }}
@endif
</div>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2996 次 |
| 最近记录: |