2012-08-13 27 views
7

Ứng dụng Zend Framework 2 của tôi có định nghĩa lộ trình cố gắng bắt chước tuyến đường Zend Framework 1 mặc định. Dường như: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', 
         ), 
        ), 
       ), 
      ), 
     ), 

nó phù hợp với các tuyến đường tốt, nhưng tôi không thể lắp ráp các tuyến đường với các thông số tùy ý sử dụng các helper Url xem.

Ví dụ,

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

kết quả trong /test/test thay vì /test/test/id/5.

Có ai biết cách lắp ráp các tuyến đường một phần như thế này không? Hoặc là có cách nào tốt hơn để có được các tuyến đường kiểu ZF1?

Trả lời

10

Hóa ra bạn cần chỉ định toàn bộ tên tuyến đường (bao gồm cả tuyến đường con) trong trình trợ giúp xem Url.

Sử dụng các bộ định tuyến được định nghĩa trong câu hỏi của tôi, quan điểm cuộc gọi helper thích hợp sẽ trông như thế:

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

mà sẽ cho kết quả trong một url của /test/test/id/5.

Các vấn đề liên quan