Zend Framework - нужно получить доступ к параметру GET из представления

Ребята из HI - я использую фреймворк Zend, и мне нужно построить URL-адрес на мой взгляд. Обычно в регулярном php-коде я просто хватаю GET Variable, используя глобальный $_GET. Однако с Zend я устанавливаю его для очистки URI, поэтому:

?

ас = список & фильтр = работает & страница = 2

Похож Индекс/акр/список/фильтр/работы/страница/2

На мой взгляд, я устанавливаю ссылки cs таким образом, что если фильтр переменной GET равен работам, то цвет этой ссылки будет другим, и он будет указывать на одну и ту же страницу, связанную только так:

Индекс/акр/список/фильтр/дополнительные/страница/2

ANd, как мудрый У меня есть ряд других ссылок, все, что только одно значение GET - как это установить - Im с использованием рамки Zend...

Ответ 1

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

Zend_Controller_Front::getInstance()->getRequest()->getParam('key');

Но, как говорили другие, это не очень хорошая идея. Это может быть проще, но рассмотрите другие варианты:

  • установить переменную вида в контроллере
  • напишите помощник вида, который вытаскивает переменную из объекта запроса

Ответ 2

Если вам нужно получить доступ к параметру GET из представления, я думаю, что вы делаете это неправильно.

Я предлагаю вам настроить маршрут со всеми вашими параметрами, а затем использовать $this->url из вашего представления, чтобы сделать правильный и правильный URL.

Для получения дополнительной информации ознакомьтесь со следующим сообщением в блоге (нет, я не автор): http://naneau.nl/2007/07/08/use-the-url-view-helper-please/

Edit:

Если вы хотите быть "ленивым", вы можете установить параметр вида из своего контроллера, выполнив $this->view->param = $this->_getParam('param'). Затем вы можете получить доступ к param из своего представления, выполнив echo $this->param;. Однако я не рекомендую это.

Ответ 4

Вы можете передать его с контроллера: $this->view->page = $this->_getParam('page');.

Сноска: Я согласен с @alexn.