在 Laravel 中,自定义分页样式需要以下几个步骤:
首先,你需要创建一个自定义的分页视图。在 resources/views
目录下,创建一个新的文件夹,例如 pagination
,然后在该文件夹中创建一个新的视图文件,例如 custom.blade.php
。
接下来,打开 custom.blade.php
文件,编写自定义的分页样式。这里是一个简单的例子:
@if ($paginator->hasPages())
<ul class="pagination">
{{-- Previous Page Link --}}
@if ($paginator->onFirstPage())
<li class="disabled"><span>«</span></li>
@else
<li><a href="{{ $paginator->previousPageUrl() }}" rel="prev">«</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 }}">{{ $page }}</a></li>
@endif
@endforeach
@endif
@endforeach
{{-- Next Page Link --}}
@if ($paginator->hasMorePages())
<li><a href="{{ $paginator->nextPageUrl() }}" rel="next">»</a></li>
@else
<li class="disabled"><span>»</span></li>
@endif
</ul>
@endif
你可以根据需要修改这个视图,以实现你想要的分页样式。
最后,在你的控制器中,当你对查询结果进行分页时,使用 paginate()
方法。然后,在你的视图中,使用 links()
方法并传递自定义分页视图的路径,如下所示:
// 在控制器中
$users = User::paginate(10);
// 在视图中
{{ $users->links('pagination.custom') }}
现在,你应该看到自定义的分页样式应用于分页链接了。