Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/02/2012, 08:22
GustavoV
 
Fecha de Ingreso: marzo-2006
Mensajes: 47
Antigüedad: 18 años, 8 meses
Puntos: 0
Unificar urls con Zend Route

Hola!
Para que se entienda mi duda pongo un ejemplo.
Tengo una url que muestra un listado de productos. Dichos productos estan paginados y se pueden ordenar por nombre y por precio.
Para hacer mas agradable a la vista le modifico la url asi:
Código PHP:
$router->addRoute(
            
'catalogo', new Zend_Controller_Router_Route_Regex('catalogo/(.+)',
                array(
'module'=> 'default''controller' => 'productos''action' => 'catalogo'),
                array(
'1' => 'nombre')
             )
        ); 
Esto funciona bien. El "problema" pasa cuando quiero incorporar las variables de paginacion o de orden. Solamente pude hacerlo agregando una nueva ruta asi:
Código PHP:
$router->addRoute(
            
'catalogoPaginado', new Zend_Controller_Router_Route_Regex('catalogo/(.+)/(\d+)',
                array(
'module'=> 'default''controller' => 'productos''action' => 'catalogo'),
                array(
'1' => 'nombre''2' => 'pag')
             )
        ); 
Si uso solamente esta ultima ruta cuando entro a www.misitio.com/catalogo me lanza un error.

Mi pregunta es si se puede crear una sola ruta que maneje las distintas opciones o necesariamente tengo que crear tantas rutas como opciones necesite (pagina sin ordenar, pagina y ordenado, ordenado pero sin pagina, etc)

Desde ya muchas gracias