我已经按照CakeBook创建了基于 Ajax 的分页。链接都正常工作,路由正常工作,因为它将请求发送到控制器上的正确操作。我在控制器操作中获取了相关的页码,然后将其发送到 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 使用我发送的页面呢?