千家信息网

YII CLinkPager分页类扩展增加如何显示共多少页

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,本篇内容介绍了"YII CLinkPager分页类扩展增加如何显示共多少页"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细
千家信息网最后更新 2026年11月04日YII CLinkPager分页类扩展增加如何显示共多少页

本篇内容介绍了"YII CLinkPager分页类扩展增加如何显示共多少页"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

1、默认的CLinkPager显示的效果

上面这里写了css的样式哈,我们来看pager代码:

2、我们来看想要的分页类效果

也就是说后面增加显示了共多少页,这个怎么做到的喃?这里我稍微小小的扩展了一下widget组件CLinkPager,看上去也是非常的狠狠简单呐,废话不多少,来来先看代码:

]>* @time 2016-01-29* @example* 
* widget('MLinkPager',array(* 'header' => '',* 'firstPageLabel' => '首页',* 'lastPageLabel' => '尾页',* 'prevPageLabel' => '<',* 'nextPageLabel' => '>',* 'pages' => $pages,* 'maxButtonCount'=>5,* 'htmlOptions' => array('class' => 'page-tab-tog'),* ));?>*
*/class MLinkPager extends CLinkPager{//设置为true的时候,显示共X页,$this->forceTotalPage值优先该值public $mCountPage = false;//是否强制显示共x页,设置为true时,$this->mCountPage和$this->getPageRange()无效public $forceTotalPage = false;public function init(){}public function run(){$this->registerClientScript();$buttons=$this->createPageButtons();list($beginPage,$endPage)=$this->getPageRange();if ($this->forceTotalPage){$buttons[] = CHtml::tag('li', array('class'=>'totle'),'共'.$this->getPageCount().'页');}else{if ($this->mCountPage && $endPage > 0){$buttons[] = CHtml::tag('li', array('class'=>'totle'),'共'.$this->getPageCount().'页');}}if(empty($buttons))return;echo $this->header;echo CHtml::tag('div',$this->htmlOptions,implode("\n",$buttons));echo $this->footer;}}

有人说了,一看那么一堆代码,头疼,你这玩意怎么能以最快的速度见到效果呢?来来我们继续看怎么使用,首先呢,你需要先把上面的扩展MLinkPager原封不动的拷贝到本地的components目录下的MlinkPager文件里,什么,你没有这个文件,自己创建,^~^!好了以后咱们来看下view里面是怎么使用的,那是简单的不能再过于简单了。

widget('MLinkPager',array('header' => '','firstPageLabel' => '首页','lastPageLabel' => '尾页','prevPageLabel' => '<','nextPageLabel' => '>','pages' => $pages,'maxButtonCount'=>5,'mCountPage' => true, //!!!注意看这里,加一行代码就ok了'htmlOptions' => array('class' => 'page-tab-tog'),));?>

什么?你刚睡醒眼神不好,没看出来区别?注意看MLinkPager的配置项mCountPage,这个设置为true就万事大吉了!

特别说明:如果你的列表没有数据的话,分页是不显示页码的,但是如果有刁蛮产品要的需求是没有列表数据,但但但你必须得吧共0页显示出来,我们的MlinkPager只需要设置下配置项forceTotalPage为true即可,此时设置mCountPager无效了咯,具体详细请看MlinkPage类,次类可自己再进行扩展

下面给大家介绍在在yii中使用分页

yii中使用分页很方便,如下两种方法:

在控制器中:

1、

$criteria = new CDbCriteria(); //new cdbcriteria数据库
$criteria->id = 'id ASC'; //排序规则$count = Exchange::model()->count($criteria);$pager = new CPagination($count);$pager->pageSize=30;$pager->applyLimit($criteria);$categoryInfo = Category::model()->findAll($criteria); //根据条件查询

  2、

$criteria = new CDbCriteria();$criteria->order = 'id ASC';$criteria->addCondition('status=1'); //根据条件查询$criteria->addCondition('exchange_status=0');$count = Exchange::model()->count($criteria);$pager = new CPagination($count);$pager->pageSize=30;$pager->applyLimit($criteria); $exchangeInfo = Exchange::model()->findAll($criteria);

 render中传入参数:

array("pages" => $pager)

 视图中加入:

$this->widget('CLinkPager',array('header'=>'','firstPageLabel' => '首页','lastPageLabel' => '末页','prevPageLabel' => '上一页','nextPageLabel' => '下一页','pages' => $pages,'maxButtonCount'=>8,));

  分页思想:

1、计算数据库中总的条数

2、分页大小

3、设置偏移量limit

在Yii中,分页时会用这个类CDBcritria进行数据库查询很重要,这样分页很简单。

"YII CLinkPager分页类扩展增加如何显示共多少页"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

数据 代码 首页 效果 数据库 样式 查询 内容 文件 更多 条件 知识 配置 刁蛮 头疼 最快 万事大吉 原封不动 学有所成 接下来 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 上海喔噻互联网科技有限公司 伟宏互联网科技 西安纸贵互联网科技有限公司 互联网和科技创新 互联网品科技 互联网金融公司科技 九亚互联网科技 北京三清互联网科技 互联网金融科技公司干啥的 南山科技园互联网公司有哪些 黑科技闪耀互联网之光 杭州壁岐互联网科技有限公司 如何创新互联网科技 华夏恒生互联网科技013171 乌鲁木齐新华智原互联网科技学校 朱啸虎曾投资哪些互联网科技企业 互联网科技大赛获奖感言 互联网科技公司营业执照怎么办理 上海创道互联网络科技有限公司 科技互联网经济论坛 科技与互联网 互联网科技开发公司 科技互联网创业计划书 深圳国际航运科技和互联网 互联网大会黑科技排名 互联网对科技的发展 科技互联网大厂 从那以后互联网科技有限公司 陕西云淼互联网科技公司 江苏互联网科技小贷
0