2015-10-06 4 views
0

Я использую cake php scroll pagination для подкачки продуктов. Я использую группу флажков в поле зрения, чтобы установить вручную условие пользователя для разбивки на страницы. Я использовал следующий код для установки условия после запроса ajax.cakephp pagination with advance Фильтр

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 части заменить фильтр с именем формы.

+0

Спасибо, сейчас работает – ptailor

1

Вы отсутствуют атрибуты «page» и «limit» для разбивки по умолчанию Cakephp.

В вашем массиве параметров вам необходимо указать номер страницы и количество записей на странице.

Что-то вроде этого, но динамически.

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

+0

но в прокрутке pagination я не думаю, что мне это нужно, потому что он работает, если я не размещал второе условие – 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