如何从网址中删除未使用的参数?

时间:2010-10-20 15:42:49

标签: php zend-framework zend-framework-routing

我正在使用Zend Framework和URL View Helper来创建URL

我的导航中有一些这样的行:

$this->url(array('controller' => 'index', 'action' => 'index'))
$this->url(array('controller' => 'who', 'action' => 'view', 'id' => $row->who_id));
$this->url(array('controller' => 'projects', 'action' => 'view', 'id' => $row->mai_id));
$this->url(array('controller' => 'content', 'action' => 'view', 'type' => 'theater', 'id' => $row->the_id));
$this->url(array('controller' => 'shows', 'action' => 'view'));

这样,首先,我有一些这样的网址

http://ccgss.local/information/location
http://ccgss.local/who/view/id/1

但当我访问包含http://ccgss.local/content/view/id/1/type/theater等更多参数的其他链接时 它弄乱了仍然存在的参数:http://ccgss.local/who/view/id/1/type/theater

我的意思是,当我访问另一个页面时,参数不会被清除。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:5)

调用url帮助程序时需要重置参数。

  

$ this-> url(array('controller'=>'index','action'=>'index'),null,true);

第二个参数是要使用的路由的名称。如果您想使用当前路线,请保持null 第三个参数指示是否重置参数。默认情况下为false。 因此,只需将其设置为true即可删除现有参数。