【问题标题】:How to display hard coded pages links dynamically when customizing laravel pagination自定义laravel分页时如何动态显示硬编码页面链接
【发布时间】:2021-09-16 16:25:47
【问题描述】:

我不确定我是否正确地表达了我的问题,但我正在自定义分页,到目前为止,我认为它运行良好。

@if($paginator->hasPages())
<div class="pagination">
    @if ($paginator->currentPage() > 1)
    <a href="">&laquo;</a>
    @else
    <a href="" style="opacity:0.5; pointer-events:none;">&laquo;</a>
    @endif


    <a class="active" href="">1</a>
    <a href="">2</a>
    <a href="">3</a>
    <a href="">4</a>
    <a href="">5</a>


    @if (!$paginator->hasMorePages())
        <a href="" style="opacity:0.5; pointer-events:none;">&raquo;</a>
    @else
    <a href="">&raquo;</a>
    @endif

</div>
@endif

如您所见,页面链接是硬编码的。如何动态显示它们?

【问题讨论】:

    标签: laravel pagination


    【解决方案1】:

    尝试将所有内容替换为

    @if($paginator->hasPages())
        {!! $paginator->render(); !!}
    @endif
    

    你也可以

    @if($paginator->hasPages())
    <div class="pagination">
        @if ($paginator->currentPage() > 1)
        <a href="{{$paginator->previousPageUrl()}}">&laquo;</a>
        @else
        <a href="{{$paginator->url(1)}}" style="opacity:0.5; pointer-events:none;">&laquo;</a>
        @endif
    
        @if($paginator->currentPage()-2 >0)
        <a href="{{$paginator->url($paginator->currentPage()-2)}}">{{$paginator->currentPage()-2}}</a>
        @endif
        @if($paginator->currentPage()-1 >0)
        <a href="{{$paginator->url($paginator->currentPage()-1)}}">{{$paginator->currentPage()-1}}</a>
        @endif
        <a class="active" href="#">{{$paginator->currentPage()}}</a>
        @if($paginator->currentPage()+1 <=$paginator->lastPage())
        <a href="{{$paginator->url($paginator->currentPage()+1)}}">{{$paginator->currentPage()+1}}</a>
        @endif
        @if($paginator->currentPage()+2 <=$paginator->lastPage())
        <a href="{{$paginator->url($paginator->currentPage()+2)}}">{{$paginator->currentPage()+2}}</a>
        @endif
    
    
    
        @if (!$paginator->hasMorePages())
            <a href="{{$paginator->url($paginator->lastPage())}}" style="opacity:0.5; pointer-events:none;">&raquo;</a>
        @else
        <a href="{{$paginator->nextPageUrl()}}">&raquo;</a>
        @endif
    
    </div>
    @endif
    

    这段代码不是 100% 干净,但你明白了(尤其是在 $paginator-&gt;hasMorePages() 附近)。

    【讨论】:

    • 1.我究竟要使用第一个解决方案替换什么代码?硬编码的代码? 2.第二个解决方案现在有效我想了解它是如何工作的。这个@if($paginator-&gt;currentPage()-2 &gt;0) 是如何读取的,它在做什么?
    • @AlphyGacheru 这是一个等式,当前页面减去 2 优于 0,因此您没有 -1 页面按钮。对于第一个解决方案,用那个替换所有东西。
    • 我明白了,谢谢。如何为第一个选项实现样式?它可以工作,但看起来不太好。
    • @AlphyGacheru 重做 css,一旦完成,您可以在任何使用分页的地方使用它。但如果你想要一些准备好的东西,它与 bootstrap css getbootstrap.com/docs/5.1/getting-started/contents/#css-files 兼容
    猜你喜欢
    • 1970-01-01
    • 2020-08-08
    • 1970-01-01
    • 1970-01-01
    • 2012-10-23
    • 2020-05-27
    • 2014-02-26
    • 2018-01-08
    • 2022-01-18
    相关资源
    最近更新 更多