2010-02-15 5 views
0

Ci-dessous j'ai collé des extraits de code d'une page où il affiche les voitures par année et par modèle. Cette liste est paginée. Pour cet exemple, imaginez que vous allez à la page 5 de la liste affichée. Au bas de la page, il y a un formulaire qui vous permet d'affiner votre recherche. Lorsque vous remplissez une autre année et modélisez et appuyez sur "Rechercher", il recharge la page avec une nouvelle liste de voitures et d'années. Le problème est que lorsque vous soumettez le formulaire et les rechargements de page, le contenu affiché est à la page 5 de la nouvelle recherche. Comment puis-je obtenir le formulaire soumettre pour montrer la nouvelle recherche à la page 1. Je pense qu'une cause possible est que l'URL a "../search/page:5" dedans quand vous essayez de soumettre le formulaire:Cakephp paginator ne va pas à la première page après un formulaire de soumission

$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'); 

Répondre

0

essayez d'utiliser la "url" -option de la forme auxiliaire, comme:

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

EDIT (rapide n » fix sale):

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

qui ne semble pas faire quoi que ce soit. l'url reste toujours la même, même si elle charge la nouvelle recherche à la page 5. Peut-être que je dois dire au $ paginator-> sort de faire quelque chose à propos de la page? –