2015-10-06 63 views
0

我使用蛋糕php滚动分页来分页产品。 我使用视图部分中的复选框组来设置手动条件由用户分页。 我使用以下代码在ajax请求后设置条件。cakephp分页与先行筛选器

class SearchController extends AppController { 
public $helpers = array('Html', 'Form', 'Session','Paginator','Js' => 'Jquery'); 
public $components = array('RequestHandler','Session','Cookie','Paginator'); 
public function index() { 
$this->loadModel("Bangsworkinghrs"); 
$agetworkinghrs = $this->Bangsworkinghrs->getworkinghrs(); 
$this->set('agetworkinghrs', $agetworkinghrs); 
$this->loadModel("Gig"); 
    $options = array('Gig.subcategory' => 'Logo Design'); 
    if(!empty($this->request->data['filter']['workinghrs'])) { 
     $options = array('Gig.subcategory' => 'Logo'); 
    } 
    $this->Paginator->settings = $options; 
    $agetGigsItem = $this->Paginator->paginate('Gig', $options); 
    $this->set('agetGigsItem', $agetGigsItem); 

} 
} 

通过这个代码,我能够改变的寻呼,但服务器爆炸的条件只有在默认20条记录下一记录不是由服务器爆炸,没有错误消息我的CakePHP的版本是2.6.8

回答

1

$('#filter').submit();尝试提交表单,并从您的jQuery部分删除AJAX刷新数据与表单名称更换过滤器。

+0

现在感谢它的工作 – ptailor

1

你缺少Cakephp默认分页的'page'和'limit'属性。

在您的选项数组中,您需要传递页码和每页记录数。

这样的事情,但在动态的方式。

$options = array('conditions' => array('Gig.subcategory' => 'Logo Design'),'page'=>2,'limit'=>20);

+0

但在滚动分页我不认为我需要它,因为它工作,如果我没有放置第二个条件 – ptailor

0
using action="get" in the form where $this->request->query['filter']['workinghrs'] data is come. 

编码:

public $paginate = array(
     'limit' => 20 
    ); 

public function index() 
{ 
    $this->loadModel("Gig"); 
    $options = array('Gig.subcategory' => 'Logo Design'); 
    if(!empty($this->request->query['filter']['workinghrs'])) { 
     $options = array('Gig.subcategory' => 'Vector Design'); 
    } 
    $this->Paginator->settings = $options; 
    $agetGigsItem = $this->Paginator->paginate('Gig', $options); 
    $this->set('agetGigsItem', $agetGigsItem);  
} 
+0

我也试过相同,但设置条件后它爆炸只有20条记录下一个记录后页滚动不起作用我想分页与flipkart或jabong相同,用户可以设置手动分页条件。 – ptailor