如何返回具有相同搜索过滤器的页面

时间:2015-02-19 13:57:14

标签: php cakephp

在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   

1 个答案:

答案 0 :(得分:0)

选项一:使用javascript window.history.back()

的链接/按钮

选项二:在您的视图中使用Controller::referer(),如

echo $this->Html->link('Back', Controller::referer());

但这只允许你退后一步。