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;
. Однако я не рекомендую это.
Ответ 3
Для доступа к объекту запроса одним из способов является сохранение его в реестре.
Ответ 4
Вы можете передать его с контроллера: $this->view->page = $this->_getParam('page');
.
Сноска: Я согласен с @alexn.