发布于 2015-01-14 11:40:22 | 3134 次阅读 | 评论: 0 | 来源: PHPERZ
Laravel PHP Web开发框架
Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。
本文为大家讲解的是laravel如何使用自定义视图分页的方法,感兴趣的同学参考下。
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->getCurrentPage()}} 是统计本页多少条数据,更多方法请参考手册
$presenter->render(); 默认是 <li></li> 如果想修改, 在
vendor/laravel/framework/src/Illuminate/Pagination/BootstrapPresenter.php
直接去修改里面的 html标签就行,非常简单,就实现了 laravel 自定义视图分页
效果截图