Php ZF2导航问题

Php ZF2导航问题,php,zend-framework2,Php,Zend Framework2,我有一个名为Member的模块,其中有两个控制器,分别是Member和Registration 我需要一个菜单,这将像“查看成员”->“编辑成员”和“成为成员”链接 路线如下: 'router' => array( 'routes' => array( 'member' => array( 'type' => 'segment', 'options' => array(

我有一个名为Member的模块,其中有两个控制器,分别是Member和Registration

我需要一个菜单,这将像“查看成员”->“编辑成员”和“成为成员”链接

路线如下:

'router' => array(
    'routes' => array(
        'member' => array(
            'type' => 'segment',
            'options' => array(
                'route' => '/member[/:action]',
                'constraints' => array(
                    'action' => '[a-zA-Z0-9_-]*',
                ),
                'defaults' => array(
                    'controller' => 'Member\Controller\Member',
                    'action' => 'index',
                ),
            ),
            'may_terminate' => true,
            'child_routes' => array(
                'registration' => array(
                    'type' => 'segment',
                    'options' => array(
                        'route' => '/registration[/:action]',
                        'defaults' => array(
                        ),
                    ),
                ),  
            ),
        ),
        'registration' => array(
            'type' => 'segment',
            'options' => array(
                'route' => '/registration[/:action]',
                'constraints' => array(
                    'action' => '[a-zA-Z0-9_-]*',
                ),
                'defaults' => array(
                    'controller' => 'Member\Controller\Registration',
                    'action' => 'index',
                ),
            ),
        ),
    ),
),
导航代码为:

'navigation' => array(
    'default' => array(
        array(
            'label' => 'Home',
            'route' => 'home',
            'type' => 'Zend\Navigation\Page\Mvc',
        ),
        array(
            'label' => 'Member', // 'Page #1',
            'route' => 'member', // 'page-1',
            'action'     => 'index',
            'resource'  => 'Member\Controller\Member',
            'pages' => array(
                array(
                    'label' => 'Edit', // 'Child #1',
                    'route' => 'member',
                    'params' => array('action' => 'memberEdit'),
                    'resource'  => 'Member\Controller\Member',
                ),
            ),
        ),
        array(
            'label' => 'Become a member',
            'route' => 'registration',
            'controller' => 'registration',
            'action' => 'index',
            'resource' => 'Member\Controller\Registration',
        ),
    ),
),
$this->navigation('navigation')
                                ->menu()
                                ->setMinDepth(0)
                                ->setMaxDepth(1)
                                ->setUlClass('nav navbar-nav');
服务经理是:

    'service_manager' => array(
    'factories' => array(
        'navigation' => 'Zend\Navigation\Service\DefaultNavigationFactory',
    ),
),
布局代码为:

'navigation' => array(
    'default' => array(
        array(
            'label' => 'Home',
            'route' => 'home',
            'type' => 'Zend\Navigation\Page\Mvc',
        ),
        array(
            'label' => 'Member', // 'Page #1',
            'route' => 'member', // 'page-1',
            'action'     => 'index',
            'resource'  => 'Member\Controller\Member',
            'pages' => array(
                array(
                    'label' => 'Edit', // 'Child #1',
                    'route' => 'member',
                    'params' => array('action' => 'memberEdit'),
                    'resource'  => 'Member\Controller\Member',
                ),
            ),
        ),
        array(
            'label' => 'Become a member',
            'route' => 'registration',
            'controller' => 'registration',
            'action' => 'index',
            'resource' => 'Member\Controller\Registration',
        ),
    ),
),
$this->navigation('navigation')
                                ->menu()
                                ->setMinDepth(0)
                                ->setMaxDepth(1)
                                ->setUlClass('nav navbar-nav');
除“成为会员”链接外,所有链接均有效。当您单击它时,会显示一条错误消息

Route with name "default" not found
请帮忙。

更改路线-

“路由器”=>阵列(
“路由”=>数组(
'注册'=>数组(
'类型'=>'段',
“选项”=>数组(
“路由”=>“/注册[/:操作]”,
'约束'=>数组(
“行动”=>“[a-zA-Z0-9_u-]*”,
),
“默认值”=>数组(
“控制器”=>“成员\控制器\注册”,
“操作”=>“索引”,
),
),
),
'成员'=>数组(
'类型'=>'段',
“选项”=>数组(
“路由”=>“/成员[/:操作]”,
'约束'=>数组(
“行动”=>“[a-zA-Z0-9_u-]*”,
),
“默认值”=>数组(
“控制器”=>“成员\控制器\成员”,
“操作”=>“索引”,
),
),
“may_terminate”=>true,
“子路由”=>数组(
'注册'=>数组(
'类型'=>'段',
“选项”=>数组(
“路由”=>“/注册[/:操作]”,
“默认值”=>数组(
),
),
),
), ), ), ),

这样,您可以同时使用
注册
会员/注册
路线


我希望这会有所帮助。

根据正在检查的比赛路线,它总是从上到下的。如果它得到了匹配,那么它将不会进一步检查它。在您的代码中,
注册
可以是
成员
下的子路由,也可以是单独的路由。因此,只需将
注册
路线写在
成员
路线上方(之前)。