2014-01-23 4 views
0

Что им пытаются достичь:ZF2 сегмент ребенка маршрут не работает

domain.com/user     = UserController::index 
domain.com/user/profile   = UserController::profile 
domain.com/user/profile/9   = UserController::profile (with query param id=9) 
domain.com/user/profile/9/edit  = UserController::editProfile (with query param id=9) 

Так у меня есть следующий маршрут:

'user' => array(
    'type' => 'Segment', 
    'options' => array(
     'route' => '/user', 
     'defaults' => array(
      '__NAMESPACE__' => 'YrmUser\Controller', 
      'controller' => 'User', 
      'action'  => 'index', 
     ), 
    ), 
    'may_terminate' => true, 
    'child_routes' => array(
     'profile' => array(
      'type' => 'Segment', 
      'options' => array(
       'route' => '/profile[/:id]', 
       'defaults' => array(
        'action' => 'profile', 
       ), 
       'constraints' => array(
        'id' => '[0-9]*' 
       ), 
      ), 
      'may_terminate' => true, 
      'child_routes' => array(
       'edit' => array(
        'type' => 'Segment', 
        'options' => array(
         'route' => '/edit', 
         'defaults' => array(
          'action' => 'editProfile', 
         ), 
        ), 
        'may_terminate' => true 
       ), 
      ) 
     ), 
    ) 
) 

Это своего рода работает, за исключением того, что параметр запроса ID никогда получает значение. Любой, кто может сказать мне, что я делаю не так, им угадать его что-то тупо простой ...

Спасибо заранее,

YRM

ответ

1

Работы для меня.

Я var_dumped в $this->params ('id') в акции и получил это:

/user 
null 

/user/profile 
null 

/user/profile/99 
string '99' (length=2) 

/user/profile/99/edit 
string '99' (length=2) 
+0

это было действительно очень глупая ошибка .. я использовал fromQuery должен использовать fromRoute – YRM

 Смежные вопросы

  • Нет связанных вопросов^_^