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