laravel 使用自定义视图分页

最近再拿 laravel 写博客系统,里面需要分页,想自定义,于是百度了一圈,都是什么修改 css,之类的,这样治标不治本嘛,于是查看 laravel 手册,发现如下

如果您想要指定自定义的视图来使用分页,您可以使用 links 方法:

然后就没了,得了,还是自己看代码吧,

追踪代码思路如下:

找到 links 方法,在 /vendor/laravel/framework/src/Illuminate/Pagination/Paginator.php 第202 行

public function links($view = null)

{

    return $this->factory->getPaginationView($this, $view);

}

于是乎追踪到 getPaginationView 方法,

public function getPaginationView(Paginator $paginator, $view = null)

{

    $data = array('environment' => $this, 'paginator' => $paginator);



    return $this->view->make($this->getViewName($view), $data);

}

现在看懂了,他传递到 view 里面两个参数

于是继续追踪,下面的追踪大家就自己去看了,我说下如何自定义分页视图

view 层:


{{$cate->links('backend._layouts._page')}}

加载我们的 _page 视图

我们看 _page视图的代码

<?php

$presenter = new Illuminate\Pagination\BootstrapPresenter($paginator);

?>



共 {{$paginator->getCurrentPage()}}  条记录







<div class="am-fr">



<ul class="am-pagination">

    <?php echo $presenter->render(); ?>

</ul>

</div>


首先我们new BootstrapPresenter 这个类,因为我们需要调用他的 render 方法

render 方法是展示: 1 , 2 ,3 ,4 这样的分页链接

{{$paginator->getTotal()}} 是统计本页多少条数据,更多方法请参考手册
$presenter->render(); 默认是 <li></li> 如果想修改, 在
vendor/laravel/framework/src/Illuminate/Pagination/BootstrapPresenter.php

直接去修改里面的 html标签就行,非常简单,就实现了 laravel 自定义视图分页

显示效果
图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值