2011-03-08 148 views
1

我有一個典型的Controller Action需要處理搜索結果並將搜索參數傳遞迴用於分頁鏈接的視圖(因此分頁保持搜索狀態)。Zend Framework中的長GET參數

如果我的URL是這樣的;

/default/search/index/query/foo+bar/when/today/sort/asc 

我可以像這樣訪問每個參數;

$this->_getParam('query') // returns 'foo bar' 

如果我想保留使用/搜索作爲路由鍵/值參數的這種方式,我需要什麼樣的路由器使用(Zend_Controller_Router_Route_Regex,Zend_Controller_Router_Route_Route等),以及如何將我的ini文件進行配置?

我是否認爲表單方法應該仍然是GET,即使它將構造搜索參數爲?query = foo + bar & when = today & sort = asc?

+0

當心SQL注入。 – Htbaa 2011-03-08 14:03:57

回答

0

我應該這樣做。

在控制器:

public function indexAction() 
{ 
    $this->view->params = array ('query' => 'foo bar', 'when' => 'today', 'sort' => 'abc'); 
} 

在視圖:

<a href="<?php echo $this->url (array ('action' => 'search', 'params' => $this->params)) ?>">Link</a> 
+0

感謝您的建議。你會如何建議將其設置爲路線? – Kevin 2011-03-08 23:03:16

+0

您是否使用自定義路線? – akond 2011-03-09 08:14:25

+0

是的,一般我會使用自定義路線。我不確定設置html表單的方法。應該是GET還是POST? – Kevin 2011-03-09 13:50:04