2010-02-18 3 views
10

Hola chicos: estoy usando el framework Zend y lo que necesito es construir una url desde mi punto de vista. Normalmente, en el código php regular, simplemente tomaría la variable GET usando el $ _GET global. Sin embargo, con Zend Soy la creación para limpiar de manera URI:?Zend Framework - necesita acceder a un parámetro GET desde una vista

ac = lista & filtro = funciona & page = 2

Parece que índice/ac/lista/filtro/obras/página/2

En mi opinión Soy la creación de un enlaces cs tal que si el GET filtro variable es igual a obras entonces el color de ese vínculo sería diferente y sería apuntar a la misma página sólo integran como las:

índice/ac/list/filter/extra/page/2

Y, de forma similar, tengo varios otros enlaces, todos con un solo valor GET - cómo configuro esto - Estoy usando Zend framework ...

Respuesta

30

Para acceder a una variable de petición particular en la vista que podría hacer:

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

Pero, como otros han dicho, esto no es una buena idea. Puede ser más fácil, pero hay que considerar otras opciones:

  • establecer la variable de vista en el controlador
  • escribir un ayudante de vista que tira de la variable a partir de la solicitud objeto
5

Si necesita acceder a un parámetro GET desde una vista, Creo que lo estás haciendo mal.

Le sugiero que configure una ruta con todos sus parámetros, y luego use $this->url desde su vista para mostrar una url válida y correcta.

Fore som más información, visite el blog siguiente mensaje (no, no soy el autor): http://naneau.nl/2007/07/08/use-the-url-view-helper-please/

Editar:

Si quieres ser 'perezoso', puede establecer un parámetro de vista desde su controlador haciendo $this->view->param = $this->_getParam('param'). A continuación, puede acceder al param desde su vista haciendo echo $this->param;. Sin embargo, no recomiendo esto.

+0

Interesante, pero no dice mucho sobre el acceso a los parámetros GET existentes. – Ali

+0

@Ali, sí lo hace. Tu dominio.com/news/id/124/page/2 <- $ _GET ['id'] se accederá como '$ this -> _ getParam ('id')' en el controlador, $ _GET ['page'] es $ esto -> _ getParam ('página'); – chelmertz

+0

Quiero decir que necesito acceder a los parámetros GET en mi opinión ... :( – Ali

1

Usted puede pasar desde un controlador: $this->view->page = $this->_getParam('page');.

Nota al pie: Estoy de acuerdo con @alexn.

Cuestiones relacionadas