首页 > 编程 > PHP > 正文

Yii使用CLinkPager进行的分页

2020-03-22 20:31:34
字体:
来源:转载
供稿:网友
这篇文章主要介绍了Yii使用CLinkPager分页的方法,需要的朋友可以参考下

本文主要讲解了YII中使用CLinkPager分页的方法,这里我们采用物件的形式来定义分页:

首先在components中自定义LinkPager,并继承CLinkPager

具体代码如下:

 ?php * CLinkPager html' target='_blank'>class file. * @link http://www.yiiframework.com/ * @copyright Copyright ? 2008-2011 Yii Software LLC * @license http://www.yiiframework.com/license/ * CLinkPager displays a list of hyperlinks that lead to different pages of target. * @version $Id$ * @package system.web.widgets.pagers * @since 1.0class LinkPager extends CLinkPager const CSS_TOTAL_PAGE= total_page  const CSS_TOTAL_ROW= total_row  * @var string the text label for the first page button. Defaults to First . public $totalPageLabel; * @var string the text label for the last page button. Defaults to Last . public $totalRowLabel; * Creates the page buttons. * @return array a list of page buttons (in HTML code). protected function createPageButtons()
list($beginPage,$endPage)=$this- getPageRange(); $currentPage=$this- getCurrentPage(false); // currentPage is calculated in getPageRange() $buttons=array(); // first page $buttons[]=$this- createPageButton($this- firstPageLabel,0,self::CSS_FIRST_PAGE,$currentPage =0,false); // prev page if(($page=$currentPage-1) 0) $page=0; $buttons[]=$this- createPageButton($this- prevPageLabel,$page,self::CSS_PREVIOUS_PAGE,$currentPage =0,false); // internal pages for($i=$beginPage;$i =$endPage;++$i) $buttons[]=$this- createPageButton($i+1,$i,self::CSS_INTERNAL_PAGE,false,$i==$currentPage); // next page if(($page=$currentPage+1) =$pageCount-1) $page=$pageCount-1; $buttons[]=$this- createPageButton($this- nextPageLabel,$page,self::CSS_NEXT_PAGE,$currentPage =$pageCount-1,false); // last page $buttons[]=$this- createPageButton($this- lastPageLabel,$pageCount-1,self::CSS_LAST_PAGE,$currentPage =$pageCount-1,false); // 页数统计 $buttons[]=$this- createTotalButton(($currentPage+1). /{$pageCount} ,self::CSS_TOTAL_PAGE,false,false); // 条数统计 $buttons[]=$this- createTotalButton( 共{$this- getItemCount()}条 ,self::CSS_TOTAL_ROW,false,false); return $buttons; protected function createTotalButton($label,$class,$hidden,$selected) if($hidden || $selected) $class.= .($hidden ? self::CSS_HIDDEN_PAGE : self::CSS_SELECTED_PAGE); return li >

定义CSS样式

/** * 翻页样式.page_blue{ margin: 3px; padding: 3px; text-align: center; font: 12px verdana, arial, helvetica, sans-serif;ul.bluePager,ul.yiiPager font-size:11px; border:0; margin:0; padding:0; line-height:100%; display:inline; text-aligin:center;ul.bluePager li,ul.yiiPager li display:inline;ul.bluePager a:link,ul.yiiPager a:link,ul.bluePager a:visited,ul.yiiPager a:visited,ul.bluePager .total_page label,ul.yiiPager .total_page label,ul.bluePager .total_row label,ul.yiiPager .total_row label border: #ddd 1px solid; color: #888888 !important; padding:2px 5px; text-decoration:none;ul.bluePager .page a,ul.yiiPager .page a font-weight:normal;ul.bluePager a:hover,ul.yiiPager a:hover color:#FFF !important; border:#156a9a 1px solid; background-color:#2b78a3ul.bluePager .selected a,ul.yiiPager bluePager .selected a color:#3aa1d0 !important; border: 1px solid #3aa1d0;ul.bluePager .selected a:hover,ul.yiiPager .selected a:hover color:#FFF !important;ul.bluePager .hidden a,ul.yiiPager .hidden a border:solid 1px #DEDEDE; color:#888888;ul.bluePager .hidden,ul.yiiPager .hidden display:none;}

controller中操作:

//分页操作$criteria=new CDbCriteria;$criteria- order= id DESC $criteria- select=array( id , uid , username , title , thumb , url , clicks , time , dateline , countfavorite , quality $criteria- condition=$sql;$total = Video::model()- count($criteria);$pages = new CPagination($total); $pages- pageSize=self::PAGE_SIZE;$pages- applyLimit($criteria);$list = Video::model()- findAll($criteria);$title = CommonClass::model()- find(array( select = array( cname ), condition = id = .$id,$this- render( application.views.video.list ,array( array = $array, arr = $arr, result = $result, list = $list, pages = $pages, title = $title,));

在views/video/list.php中引用:

 ?php $this- widget( LinkPager , array( pages = $pages,)); ? 

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP !

相关推荐:

yii2组件实现下拉框带搜索功能

对于Yii2.0表关联查询的分析

如何用yii去掉必填项中的星号

以上就是Yii使用CLinkPager进行的分页的详细内容,PHP教程

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表