laravel实现分页样式替换示例代码(增加首、尾页)

 更新时间:2017年09月22日 08:33:18   作者:回眸淡然笑  
这篇文章主要给大家介绍了关于laravel实现分页样式替换的相关资料,实现了增加首、尾页的功能,文章通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。

前言

本文主要给大家介绍了关于laravel分页样式替换的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。

方法如下:

一、自定义一个类(代码如下),位置随你放,注意命名空间。

二、模板输出调用 {!! $data->render(new \App\Http\Controllers\ShmilyThreePresenter($data)) !!}

最终样式

实现代码

<?php

//创建继承自 Illuminate\Pagination\BootstrapThreePresenter 类,这里我把类放在了Controllers下面,需要修改BootstrapThreePresenter 类的哪些方法就重写哪个方法。如果觉得默认的bootstrap样式和你项目的样式不符,可以自定义样式。
namespace App\Http\Controllers;
use Illuminate\Contracts\Pagination\Paginator as PaginatorContract;
use Illuminate\Contracts\Pagination\Presenter as PresenterContract;

class ShmilyThreePresenter extends \Illuminate\Pagination\BootstrapThreePresenter
{
 /**
  * Convert the URL window into Bootstrap HTML.
  *
  * @return string
  */
 public function render()
 {
  if ($this->hasPages()) {
   return sprintf(
    '<ul class="am-pagination">%s %s %s %s %s</ul>',//自定义class样式
    $this->firstPage(),//添加首页方法
    $this->getPreviousButton('上一页'),
    $this->getLinks(),
    $this->getNextButton('下一页'),
    $this->last()//添加尾页方法
   );
  }

  return '';
 }

 /**
  * Get HTML wrapper for an available page link.
  *
  * @param string $url
  * @param int $page
  * @param string|null $rel
  * @return string
  */
 protected function getAvailablePageWrapper($url, $page, $rel = null)
 {
  $rel = is_null($rel) ? '' : ' rel="'.$rel.'"';

  return '<li><a href="'.htmlentities($url).'" rel="external nofollow" '.$rel.'>'.$page.'</a></li>';
  //这里li标签可以添加你自己的class样式
 }

 /**
  * Get HTML wrapper for disabled text.
  *
  * @param string $text
  * @return string
  */
 protected function getDisabledTextWrapper($text)
 {
  return '<li class="disabled"><span>'.$text.'</span></li>';
 }

 /**
  * Get HTML wrapper for active text.
  *
  * @param string $text
  * @return string
  */
 protected function getActivePageWrapper($text)
 {
  return '<li class="active"><span>'.$text.'</span></li>';
 }


 /**
  * Get the next page pagination element.
  *
  * @param string $text
  * @return string
  */
  //新建首页方法
 public function firstPage($text = '首页')
 {
  // If the current page is greater than or equal to the last page, it means we
  // can't go any further into the pages, as we're already on this last page
  // that is available, so we will make it the "next" link style disabled.
  if ($this->paginator->currentPage() <= 1) {
   return $this->getDisabledTextWrapper($text);
  }
  $url = $this->paginator->url(1);

  return $this->getPageLinkWrapper($url, $text, 'first');
 }

 /**
  * Get the next page pagination element.
  *
  * @param string $text
  * @return string
  */
  //新建尾页方法
 public function last($text = '尾页')
 {
  // If the current page is greater than or equal to the last page, it means we
  // can't go any further into the pages, as we're already on this last page
  // that is available, so we will make it the "next" link style disabled.

  $url = $this->paginator->url($this->paginator->lastPage());

  return $this->getPageLinkWrapper($url, $text, 'last');
 }

}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

相关文章

  • php 修改zen-cart下单和付款流程以防止漏单

    php 修改zen-cart下单和付款流程以防止漏单

    zen-cart进入第三方支付网站后,如果不能正常返回,则会造成客户已付款但后台却无订单数据的尴尬局面。本文就针对该问题给出一种解决方案,希望对被同样问题困扰的同行有所帮助。
    2010-03-03
  • Laravel ORM对Model::find方法进行缓存示例详解

    Laravel ORM对Model::find方法进行缓存示例详解

    这篇文章主要给大家介绍了关于Laravel ORM对Model::find方法进行缓存的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-03-03
  • PHP获取MAC地址的具体实例

    PHP获取MAC地址的具体实例

    分享一例php取得机器mac地址的代码,学习下php读取硬件信息的方法,此代码适用于windows、linux系统。有需要的朋友参考学习下
    2013-12-12
  • ThinkPHP模板引擎之导入资源文件方法详解

    ThinkPHP模板引擎之导入资源文件方法详解

    这篇文章主要介绍了ThinkPHP模板引擎的导入资源文件方法,需要的朋友可以参考下
    2014-06-06
  • 分享下页面关键字抓取components.arrow.com站点代码

    分享下页面关键字抓取components.arrow.com站点代码

    这篇文章主要介绍了分享下页面关键字抓取components.arrow.com站点代码的相关资料,需要的朋友可以参考下
    2014-01-01
  • YII框架页面缓存操作示例

    YII框架页面缓存操作示例

    这篇文章主要介绍了YII框架页面缓存操作,结合实例形式分析了Yii框架页面缓存的开启、关闭、设置等相关功能与实现技巧,需要的朋友可以参考下
    2019-04-04
  • laravel框架中控制器的创建和使用方法分析

    laravel框架中控制器的创建和使用方法分析

    这篇文章主要介绍了laravel框架中控制器的创建和使用方法,结合实例形式详细分析了laravel框架控制器的原理、创建、使用方法及相关注意事项,需要的朋友可以参考下
    2019-11-11
  • 浅谈PHP匿名函数和闭包

    浅谈PHP匿名函数和闭包

    这篇文章主要介绍了PHP匿名函数和闭包,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • php之header的不同用法总结(实例讲解)

    php之header的不同用法总结(实例讲解)

    下面小编就为大家分享一篇php之header的不同用法总结(实例讲解),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-11-11
  • Zend Framework实现将session存储在memcache中的方法

    Zend Framework实现将session存储在memcache中的方法

    这篇文章主要介绍了Zend Framework实现将session存储在memcache中的方法,结合实例形式分析了Zend Framework框架下将session存储在memcache的实现技巧,需要的朋友可以参考下
    2016-03-03

最新评论