2012-08-13 34 views
7

Mi aplicación Zend Framework 2 tiene una definición de ruta que intenta imitar la ruta predeterminada de Zend Framework 1. Parece que:Zend Framework 2 Part Route Assembly

 'router' => array(
      'routes' => array(
       'default' => array(
        'type' => 'segment', 
        'options' => array(
         'route' => '/[:controller[/:action]]', 
         'defaults' => array(
          '__NAMESPACE__' => 'Application\Controller', 
          'controller' => 'Index', 
          'action'  => 'index', 
         ), 
        ), 
        'may_terminate' => true, 
        'child_routes' => array(
         'wildcard' => array(
          'type' => 'wildcard', 
         ), 
        ), 
       ), 
      ), 
     ), 

que coincide con rutas muy bien, pero no puedo montar rutas con parámetros arbitrarios utilizando el Url ayudante de vista.

Por ejemplo,

$this->url('default', array('controller' => 'test', 'action' => 'test', 'id' => 5)); 

resultados en /test/test en lugar de /test/test/id/5.

¿Alguien sabe cómo montar rutas parciales como esta? ¿O hay una mejor manera de obtener rutas de estilo ZF1?

Respuesta

10

Resulta que debe especificar el nombre completo de la ruta (incluidas las rutas secundarias) en el asistente de visualización Url.

Usando el router definido en mi pregunta, la visión correcta de llamadas de ayuda se vería así:

$this->url('default/wildcard', array('controller' => 'test', 'action' => 'test', 'id' => 5)); 

que daría lugar a una URL de /test/test/id/5.

Cuestiones relacionadas