2012-10-03 104 views
2

我正在嘗試開發一個使用zend框架(v 1.11)的應用程序。這個框架是全新的。如何在zend框架中刪除幾個url參數

我有這樣的網址。

http://xyz.local/client/feedback/index/username/abc/page/2

上述鏈接指向client模塊,feedback控制器的index動作。

對於每個請求,url參數username以及有效值都是必需的。

在這個頁面我已經分頁了所有的反饋。我的探討是,當我從index操作離開相同或不同控制器中的其他操作時,參數名稱/page/2仍保留在url中。

對於想如果我瀏覽到同一控制器的new行動,那麼新的URL看起來像這樣

http://xyz.local/client/feedback/new/username/newClient/page/2

,而它應該是這樣的

http://xyz.local/client/feedback/new/username/newClient

使用$this->url(array('module' => 'client', 'controller' => 'feedback', 'action' => 'new'), null, true)重置所有參數,包括我不想要的用戶名。

Zend的標準是什麼?

+1

您可以將用戶名傳遞給視圖,並把它添加到URL的參數:'$此 - > url(array('module'=>'client','controller'=>'feedback','action'=>'new','username'=> $ username),null,true)''在調用URL-ViewHelper時,將頁面參數設置爲null,並省略最後一個參數。我認爲前者是更清潔的方式... – dbrumann

+0

酷,那工作(前方法)..謝謝。 :) 你可以請發表回覆作爲這個問題的答案。? –

回答

5

您可以將用戶名傳遞給視圖,它的URL,視圖助手添加到URL的參數:

$this->url(array('module' => 'client', 'controller' => 'feedback', 'action' => 'new', 'username' => $username), null, true)