3
我按照CakeBook創建基於Ajax的分頁。鏈接全部正常工作,路由正在工作,因爲它將請求發送到控制器上的正確操作。我在控制器操作中獲取相關頁碼,然後將其發送給Paginate助手以獲取數據。但是,只有返回結果的第一頁,無論頁面是否設置。所以,我沒有在模型上果然我總是讓網頁集的PAGINATE功能的覆蓋,以1在Cakephp中設置Ajax分頁未設置頁面
控制器動作代碼..
public function reviews(){
if ($this->RequestHandler->isAjax()) {
if(!empty($this->params['page'])) {
$review = $this->Page->find('first', array('conditions'=>array('friendly'=>'reviews')));
$this->layout = 'ajax';
$this->paginate = array(
'page' => $this->params['page'],
'limit' => 3,
'order' => array(
'Review.rating'=>'desc')
);
$reviews = $this->paginate('Review');
$this->set(compact('review','reviews'));
}
}
}
那麼,如何讓分頁程序使用我正在發送的頁面?
你不需要設置頁面,所以你可以刪除它。你確定有多個頁面可以顯示嗎?另外,我沒有看到您的分頁覆蓋。 – jeremyharris
嗨,我手動添加了頁面,因爲它總是發送第一頁。我把分頁覆蓋掉了。我只做了它看到它正在發送什麼頁碼,它始終是1,因此得出結論,問題出在控制器而不是模型。 –
分頁與模型無關:)分頁程序只是根據分頁參數設置常規查找調用的限制。你確定有第2頁?你也看過生成的SQL嗎? – jeremyharris