Zend Framework помощник вида URL не отображает полный URL-адрес?

У меня есть URL, который выглядит так:

/controller/action?query=foobar

В моем скрипте просмотра страниц я вызываю помощника просмотра URL, чтобы добавить номер страницы в URL:

<a href="<?php echo $this->url(array('page' => $this->next), null, false); ?>">

Переходя false следует сделать так, чтобы URL не сбрасывался, но генерируемый URL не включает исходный параметр запроса:

/controller/action/page/2

... и так должно быть:

/controller/action/page/2?query=foobar

Что я делаю неправильно?

2 ответа

Решение

Вам нужно будет добавить строку запроса в конец URL-адреса, созданного помощником. Работа помощника заключается в создании ссылок на основе определенных маршрутов. Он не будет поддерживать строки запроса, потому что ни у одного маршрута в Zend нет строки запроса.

<a href="<?php echo $this->url(array('page' => $this->next), null, false); ?>?<?php echo $_SERVER['QUERY_STRING'];?>">

Вам лучше использовать следующий формат URL:

/controller/action/query/foobar

Это должно быть совместимо с функцией сброса помощника URL, и ваш код должен работать.

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