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

相關文章
相關標籤/搜索