我有一个名为Member的模块,其中有两个控制器成员和注册。
我需要一个类似“查看会员”的菜单 - > “编辑会员”和“成为会员”链接。
路线如下:
'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
请帮忙。
答案 0 :(得分:0)
更改路线 -
'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
路由。
我希望它有所帮助。