[英]Issue with ZF2 Navigation
我有一个名为Member的模块,并且其中有两个Controller 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',
),
),
),
服务经理是:
'service_manager' => array(
'factories' => array(
'navigation' => 'Zend\Navigation\Service\DefaultNavigationFactory',
),
),
布局代码为:
$this->navigation('navigation')
->menu()
->setMinDepth(0)
->setMaxDepth(1)
->setUlClass('nav navbar-nav');
除“成为会员”链接外,所有链接均有效。 当您单击它时会显示一条错误消息
Route with name "default" not found
请帮忙。
更改路线-
'router' => array( 'routes' => 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', ), ), ), '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
和member/registration
路线。
希望对您有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.