Я использую cakePHP, и я пытаюсь получить компонент paginator для передачи переменных get или passargs при переходе на разные страницы. У меня есть множество различных селекторов входных данных, которые «фильтруют» возвращаемые результаты. Это работает при первом просмотре, но в тот момент, когда я нажимаю на другую страницу, он показывает все результаты.cakePHP paginator не проходит passargs
У меня есть следующие настройки для моей постраничной навигации:
// In my controller class:
public $paginate = array('maxLimit' => 10, 'paramType' => 'querystring');
// Within my action method:
$this->paginate = array('conditions' => array(...),
order => array('Model.field ASC'),
'limit' => 20
);
// Calling the paginator:
$results = $this->paginate('Model');
$this->set(compact('results'));
На мой взгляд файла:
<div class="paging">
<?php
echo $this->Paginator->prev('< ' . __('previous'), array(), null, array('class' => 'prev disabled'));
echo $this->Paginator->numbers(array('separator' => ''));
echo $this->Paginator->next(__('next') . ' >', array(), null, array('class' => 'next disabled'));
?>
</div>
EDIT: Из моего понимания, что лучше использовать passedArgs, но я немного не уверен, как это сделать. My $ this-> passArgs не возвращает результатов, поэтому я создаю переданные параметры в моем примере с контроллером. Я также изменил свою форму от Добраться до сообщения:
$this->passedArgs["searchfield"] = $_POST["value"];
Он проходит passedArgs теперь правильно в постраничной полосе, но я не уверен, о том, как построить массив условий подкачки в настоящее время. В большинстве случаев пользователи не будут выбирать пример значений по умолчанию, один из фильтров - дата и дата, а затем поле ввода поиска, если я оставлю даты, он все равно создаст argumens и не вернет никаких результатов, поэтому по существу мой url будет выглядеть примерно так:
http://localhost/site/controller/action/page:3/datefrom:0/dateto:0/searchFor:survey
Любая помощь?
Привет @ Nebel54, спасибо за ваше предложение. Я думаю, что я нашел проблему, и это то, что моя форма фильтра или форма поиска отправляют только значения GET, поэтому мои $ this-> passArgs пустые. Можете ли вы указать, как я создал passArgs? – mauzilla
Можете ли вы опубликовать, как выглядят ваши параметры? они построены как/param1: true/param2: name или like /? param1 = true & param2 = name – Nebel54
it/param1: value/param2: value, но теперь, поскольку не все параметры всегда будут иметь значения, он будет делать param1: 0/param2: возможное значение /, которое сломает запрос – mauzilla