CakeBookに従って、Ajax ベースのページネーションを作成しました。リンクはすべて機能しており、コントローラーの正しいアクションにリクエストを送信しているため、ルートは機能しています。コントローラー アクションで関連するページ番号を取得し、それを Paginate ヘルパーに送信してデータを取得しています。ただし、設定されているページに関係なく、結果の最初のページのみが返されます。そのため、モデルで paginate 関数をオーバーライドしましたが、ページを常に 1 に設定しています。
コントローラ アクション コード..
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'));
}
}
}
では、送信しているページを Paginator に使用させるにはどうすればよいでしょうか?