【问题标题】:How do I remove only few url parameters in zend framework如何在zend框架中只删除几个url参数
【发布时间】:2012-10-03 07:13:59
【问题描述】:

我正在尝试使用 zend 框架 (v 1.11) 开发应用程序。我对这个框架完全陌生。

我有一个这样的网址。

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 的标准做法是什么。

【问题讨论】:

  • 您可以将用户名传递给视图并将其添加到 url 的参数中:$this->url(array('module' => 'client', 'controller' => 'feedback', 'action' => 'new', 'username' => $username), null, true) 或者您只需将页面参数设置为 null 并在调用 URL-ViewHelper 时省略最后一个参数.我认为前者是更清洁的方式......
  • 酷,这行得通(以前的方法).. 谢谢。 :) 你能把这个回复作为这个问题的答案发布吗?

标签: zend-framework url-parameters urlvariables


【解决方案1】:

您可以将用户名传递给视图,并将其添加到 URL-ViewHelper 中的 url 参数中:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-30
    • 2014-04-30
    • 2014-10-10
    • 1970-01-01
    • 2012-04-07
    • 2015-07-26
    • 2012-04-27
    • 2012-05-25
    相关资源
    最近更新 更多