国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

YII CLinkPager分頁類擴展增加顯示共多少頁

2020-03-22 18:28:35
字體:
來源:轉載
供稿:網友
yii的分頁類CLinkPager默認是不支持顯示共x頁的,那么現在需求來了,要在分頁的后面顯示共多少頁,怎么辦喃?我們來看解決辦法1、默認的CLinkPager顯示的效果上面這里寫了css的樣式哈,我們來看pager代碼: div php $this- widget('CLinkPager',array('header' = '','firstPageLabel' = '首頁','lastPageLabel' = '尾頁','prevPageLabel' = ' ','nextPageLabel' = ' ','pages' = $pages,'maxButtonCount'= 5,'htmlOptions' = array('class' = 'page-link'), //分頁要使用的css樣式 /div 2、我們來看想要的分頁類效果也就是說后面增加顯示了共多少頁,這個怎么做到的喃?這里我稍微小小的擴展了一下widget組件CLinkPager,看上去也是非常的狠狠簡單吶,廢話不多少,來來先看代碼:* 分頁組建ClinkPager擴展* @description page-tab-tog為分頁的樣式class* @author [ xm 杭州 ] * @time 2016-01-29* @example* div * php $this- widget('MLinkPager',array(* 'header' = '',* 'firstPageLabel' = '首頁',* 'lastPageLabel' = '尾頁',* 'prevPageLabel' = ' ',* 'nextPageLabel' = ' ',* 'pages' = $pages,* 'maxButtonCount'= 5,* 'htmlOptions' = array('class' = 'page-tab-tog'),* )); * /div 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().'頁');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里面是怎么使用的,那是簡單的不能再過于簡單了。 div php $this- widget('MLinkPager',array('header' = '','firstPageLabel' = '首頁','lastPageLabel' = '尾頁','prevPageLabel' = ' ','nextPageLabel' = ' ','pages' = $pages,'maxButtonCount'= 5,'mCountPage' = true, //!!!注意看這里,加一行代碼就ok了'htmlOptions' = array('class' = 'page-tab-tog'), /div 什么?你剛睡醒眼神不好,沒看出來區別?注意看MLinkPager的配置項mCountPage,這個設置為true就萬事大吉了!特別說明:如果你的列表沒有數據的話,分頁是不顯示頁碼的,但是如果有刁蠻產品要的需求是沒有列表數據,但但但你必須得吧共0頁顯示出來,我們的MlinkPager只需要設置下配置項forceTotalPage為true即可,此時設置mCountPager無效了咯,具體詳細請看MlinkPage類,次類可自己再進行擴展下面給大家介紹在在yii中使用分頁yii中使用分頁很方便,如下兩種方法:
在控制器中:
1、$criteria = new CDbCriteria(); //new cdbcriteria數據庫 br $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進行數據庫查詢很重要,這樣分頁很簡單。
PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新津县| 宁安市| 探索| 泾川县| 金乡县| 开平市| 邵阳市| 平顺县| 田林县| 米脂县| 探索| 天柱县| 庆元县| 盐津县| 嘉峪关市| 海淀区| 耿马| 嘉义县| 芜湖县| 石河子市| 夏邑县| 米林县| 北碚区| 泗阳县| 县级市| 天等县| 清涧县| 虹口区| 巨野县| 彭州市| 曲阜市| 即墨市| 仁寿县| 偃师市| 香港| 衡东县| 如皋市| 南丹县| 仪陇县| 恩平市| 肇东市|