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, и ваш код должен работать.