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的时候请求大于实际已有页数时,它总是返回最后一页,也就是会一直翻页下去,也就是会重复最后一页。故有以上代码的产生。

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

你可能感兴趣的:(yii中取得CActiveDataProvider的分页信息)