В cakephp я могу добавить фильтры поиска и изменить post vars на Get, как показано ниже. Это прекрасно работает. Моя проблема в том, как перейти на другую страницу, найденную в списке поисков, и вернуться на ту же страницу? Все фильтры поиска исчезают, когда я возвращаюсь, поскольку я их не храню.
например, я ищу счет-фактуру 2 и получаю список запросов. я нажимаю на ссылку из поиска и просматриваю страницу. Затем я хочу вернуться на ту же страницу с тем же номером страницы для счета-фактуры 2?
if (($this-> request-> is ('post') || $this-> request-> is ('put')) && isset ($this-> request-> data ['filter'])) {
$filter_url['controller'] = $this->request->params['controller'];
$filter_url['action'] = $this->request->params['action'];
$filter_url['page'] = 1;
// for each filter we will add a GET parameter for the generated url
foreach($this->data['Filter'] as $name => $value){
if($value){
$filter_url[$name] = urlencode($value);
}
}
//Post params are now GET paramaters
return $this->redirect($filter_url);
}//isset
Варианты один: используйте ссылку/кнопку с javascript window.history.back()
Варианты два: используйте Controller::referer()
в вашем представлении, например
echo $this->Html->link('Back', Controller::referer());
но это только позволяет вам сделать один шаг назад.