yii中取得CActiveDataProvider的分页信息

if(isset($_GET[$data_provider->pagination->pageVar])){
 	$currentPage = $_GET[$data_provider->pagination->pageVar];
 	$currentPage = intval($currentPage);
 	$totalCount = $data_provider->totalItemCount;
 	$pageSize = $data_provider->pagination->pageSize;
 	$pageCount = $totalCount/$pageSize;
 	Yii::log("totalCount/pageSize:".$pageCount);
 	$pageCount = ceil($pageCount);
 	Yii::log("pageCount:".$pageCount);
 	if($pageCount>$totalCount)
 		throw new CHttpException(404,'The requested page does not exist.');
 }        

    其实使用yii的分页wiget时,以上代码显得多余。但在作用masonry和infinitescroll作无限滚动分页时就有用了,这个滚动分页插件有个问题就是到头的时候必须给它一个404错误或者异常它才知道到头了,并且yii不用分页wiget的时候请求大于实际已有页数时,它老是返回最后一页,也就是会一直翻页下去,也就是会重复最后一页。故有以上代码的产生。 php

    其实我有尝试其它获取分页数据方式,但没有找到,只找到以上方法,若是有好方法的朋友不访分享交流一下。:) yii

相关文章
相关标签/搜索