我有Zend_Form生成的一種形式,我想建立一個路由,提交,以便代替用戶沒有看到他的URL更改或看到URL變化一個複雜的GET字符串,它會改變以反映過濾器。Zend_Form的過濾器重寫或路線 - 我想要一個可讀URL
BAD: /產品
BAD: /產品顏色=白色&大小=大
GOOD: /產品/白色/大
GOOD: /產品/顏色/白/尺寸/大
有沒有辦法做到這一點?
我有Zend_Form生成的一種形式,我想建立一個路由,提交,以便代替用戶沒有看到他的URL更改或看到URL變化一個複雜的GET字符串,它會改變以反映過濾器。Zend_Form的過濾器重寫或路線 - 我想要一個可讀URL
BAD: /產品
BAD: /產品顏色=白色&大小=大
GOOD: /產品/白色/大
GOOD: /產品/顏色/白/尺寸/大
有沒有辦法做到這一點?
不直接通過Zend_Form的,因爲在端部Zend_Form的繪製一個HTML表格,瀏覽器發送它在一個URL形式進行編碼。
你需要做的是趕上通過Javascript提交事件和手動創建你想要的網址,並使用window.location的轉移形式。
不要忘了故障轉移到如果JavaScript在用戶的瀏覽器禁用「壞」的模式。 – 2010-01-16 18:38:02
在這種情況下,它會以url編碼參數的形式提交,而Zend可以很好地與這些參數一起工作。 – Chris 2010-01-19 06:05:38
請注意,'/產品/顏色/白/尺寸/ large'與'/產品/大小/大/顏色/白色/'將使谷歌憤怒的,因爲它是重複的內容(在違背PARAMS是** DO不要**做到這一點) – 2011-04-01 00:18:24