Cakephp paginator在表单提交后不会转到第一页

时间:2010-02-15 21:32:53

标签: cakephp forms pagination submit

下面我粘贴了一个页面的代码片段,它按年份和型号显示汽车。此列表是分页的。对于此示例,假设您转到显示的列表的第5页。在页面底部,有一个表单可以让您优化搜索。当你填写另一年和模型并推送“搜索”时,它会重新加载页面,其中包含新的汽车列表和年份。问题是,当您提交表单并重新加载页面时,显示的内容位于新搜索的第5页。如何让表单提交以显示第1页的新搜索。我认为一个可能的原因是当您尝试提交表单时,网址中包含“../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 :(得分:0)

尝试使用form-helper的“url” - 选项,如:

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

编辑(快速修复):

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