Foros del Web » Programando para Internet » PHP » Zend »

Obtener parametros Get en Vista Zend_paginator

Estas en el tema de Obtener parametros Get en Vista Zend_paginator en el foro de Zend en Foros del Web. Hola chicos estoy usando el paginator de Zend tengo un problema me gustaria obtener los datos que viene por la Url por ejemplo www.example.com/libros/listado/?autor=pepe Yo ...
  #1 (permalink)  
Antiguo 17/11/2010, 09:26
 
Fecha de Ingreso: junio-2007
Mensajes: 152
Antigüedad: 16 años, 9 meses
Puntos: 0
Obtener parametros Get en Vista Zend_paginator

Hola chicos estoy usando el paginator de Zend tengo un problema me gustaria obtener los datos que viene por la Url por ejemplo

www.example.com/libros/listado/?autor=pepe

Yo desde la vista llamo asi al paginator

Código PHP:
echo $this->paginationControl($this->paginator'Sliding''include/paginator.phtml'); 
Y en la vista de paginator.phtml

Código PHP:
<ul class="navegadorResultados">
                    <?php if (isset($this->previous)){?>
                        <li class="botonAnterior"><a  href="<? echo $this->url(); ?>?page=<?php echo $this->previous?>">&lt; <?php echo $Translate->_("Anterior",$idioma);?></a> |</li>
                    <?php }else{?>
                        <li class="botonAnterior"><a class="desactivado" href="#">&lt; <?php echo $Translate->_("Anterior",$idioma);?></a> |</li>
                    <?php }
                    foreach (
$this->pagesInRange as $page) {?>
                        <li><a href="<? echo  $this->url(); ?>?page=<?php echo $page?>"><? echo  $page?></a></li>
                    <?php }
                    if (isset(
$this->next)){?>
                        <li class="botonSiguiente">| <a href="<? echo $this->url(); ?>?page=<?php echo $this->next?>"><?php echo $Translate->_("Siguiente",$idioma);?> &gt;</a></li>
                    <?php }else{?>
                        <li class="botonSiguiente">| <a class="desactivado" href="#"><?php echo $Translate->_("Siguiente",$idioma);?> &gt;</a></li>
                    <?php }?>
                </ul>
El tema es que si nos movemos por el paginador perdemos el parametro por el que estamos buscando

¿Como puedo pedirle a zend_paginator el parámetro de búsqueda ?
  #2 (permalink)  
Antiguo 17/11/2010, 09:52
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Obtener parametros Get en Vista Zend_paginator

Zend_Paginator usa una instancia de Zend_View para hacer el render de las paginas, tu puedes crear un nuevo view helper para dibujar los urls pasando las variables que necesites, un ejemplo puede ser algo así:
Código PHP:
Ver original
  1. class Admin_View_Helper_UrlParameters extends Zend_View_Helper_Abstract
  2. {
  3.     public function urlParameters($page)
  4.     {
  5.         $front = Zend_Controller_Front::getInstance();
  6.         $request = $front->getRequest();
  7.        
  8.         $params = $request->getParams();
  9.         $params['page'] = $page;
  10.         return $this->view->url($params);
  11.     }
  12. }

Luego desde tu pagination control, en lugar de usar <?php echo $this->url(); ?> usas <?php echo $this->urlParameters($page); ?>

Saludos.
  #3 (permalink)  
Antiguo 17/11/2010, 10:19
 
Fecha de Ingreso: junio-2007
Mensajes: 152
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Obtener parametros Get en Vista Zend_paginator

Cita:
Iniciado por GatorV Ver Mensaje
Zend_Paginator usa una instancia de Zend_View para hacer el render de las paginas, tu puedes crear un nuevo view helper para dibujar los urls pasando las variables que necesites, un ejemplo puede ser algo así:
Código PHP:
Ver original
  1. class Admin_View_Helper_UrlParameters extends Zend_View_Helper_Abstract
  2. {
  3.     public function urlParameters($page)
  4.     {
  5.         $front = Zend_Controller_Front::getInstance();
  6.         $request = $front->getRequest();
  7.        
  8.         $params = $request->getParams();
  9.         $params['page'] = $page;
  10.         return $this->view->url($params);
  11.     }
  12. }

Luego desde tu pagination control, en lugar de usar <?php echo $this->url(); ?> usas <?php echo $this->urlParameters($page); ?>

Saludos.

Muchas gracias donde creo este nuevo view helper ?

En /views/helpers/ ??
  #4 (permalink)  
Antiguo 17/11/2010, 10:31
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Obtener parametros Get en Vista Zend_paginator

Así es, si tienes configurada esa ruta para los helpers ahí lo puedes colocar.

Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:32.