Cakephp paginator не переходит на первую страницу после отправки формы - PullRequest
0 голосов
/ 16 февраля 2010

Ниже я вставил фрагменты кода страницы, где отображаются автомобили по годам и моделям. Этот список разбит на страницы. Для этого примера представьте, что вы переходите на страницу 5 отображаемого списка. Внизу страницы есть форма, которая позволяет уточнить ваш поиск. Когда вы вводите другой год и модель и нажимаете «Поиск», она перезагружает страницу с новым списком автомобилей и лет. Проблема заключается в том, что при отправке формы и перезагрузке страницы отображаемое содержимое отображается на странице 5 нового поиска. Как получить форму отправки для отображения нового поиска на странице 1. Я думаю, что одной из возможных причин является то, что при попытке отправить форму URL-адрес содержит "../search/page:5":

$paginator->options(array('url' =>  array($condition_string)));
echo $paginator->sort('Year', 'Car.year', array('url' => array('page' => 1)));
echo $paginator->sort('Model', 'Car.model', array('url' => array('page' => 1)));

//table code that displays years and models

echo $paginator->prev('<< '.__('previous', true), array(), null, array('class'=>'disabled'));
echo $paginator->numbers();
echo $paginator->next(__('next', true).' >>', array(), null, array('class'=>'disabled'));

//form that submits new search
echo $form->create('Car', array('action' => 'search'));
echo $form->input('model');
echo $form->input('year');
echo $form->end('Search');

1 Ответ

0 голосов
/ 16 февраля 2010

попробуйте использовать опцию "url" формы-помощника, например:

<?= $form->create('Car',array('url' => '/.../search')) ?>

РЕДАКТИРОВАТЬ (quick n 'dirty fix):

<form action=".../search" method="post">
<input type="text" name="data[Car][model]" />
<input type="text" name="data[Car][year]" />
<?=$form->end("Search")?>
...