2013-06-05 55 views
0

我有一個簡單的GET表單,它允許用戶鍵入一個位置,然後選擇一些其他選項並執行搜索。cakephp&routes - 如何在URL中使用GET參數

所以在一分鐘對這個動作的網址是: 控制器/搜索面積=倫敦&選項1 =無論&選項2 = whateverelse

我想的網址是: 控制器/搜索/倫敦?option1 = whatever & option2 = whateverelse

換句話說,該區域的GET參數將被合併到url中,但不會作爲NVP。

有沒有辦法做到這一點?我對路由有點困惑,或者有其他方法嗎?

感謝

+0

Ehm。創建一個名爲搜索的文件夾,並在其中放置一個頁面倫敦,而不是搜索? ;) – Matheno

+0

但是然後我需要一個可能輸入的每個可能位置的文件夾,這可能是英國 –

+0

yup中的任何城市,城鎮或村莊。但是這是一種方法;) 無論如何,我會在.htaccess url_rewrite .. – Matheno

回答

1

使用routingCakeDC search plugin。如果您還沒有閱讀關於路由的信息,您應該這樣做,它是一個非常強大的功能。

Route::connect('/search/:city/*', array('controller' => 'search', 'action' => 'index'), array('pass' => array('city'), 'city' => 'a-zA-Z0-9_-]+'))); 

剛剛寫下沒有測試,嘗試一下,如果不工作把一些努力。這將使城市成爲SearchController :: index($ city = null)的第一個參數;

搜索插件將幫助您將查詢參數映射到可用於從數據庫檢索數據的搜索條件,請參閱其readme.md如何執行此操作。