Как убрать неиспользуемые параметры из URL?

Я использую Zend Framework и помощник просмотра URL для создания 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'));

Таким образом, сначала у меня есть такой URL

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 ответ

Решение

Вам нужно сбросить параметры при звонке url помощник.

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

Второй аргумент - это название маршрута, который нужно использовать. Оставь это null если вы хотите использовать текущий маршрут.
Третий аргумент указывает, следует ли сбрасывать параметры. Это false по умолчанию. Итак, просто установите его true избавиться от существующих параметров.

Другие вопросы по тегам