我正在寻找在layout.phtml文件中显示导航菜单:
<?php echo $this->navigation('navigation')->menu(); ?>
Run Code Online (Sandbox Code Playgroud)
因此,我将这些行添加到/module/Application/config/module.config.php,以便根据我的应用程序路由声明菜单的结构:
'navigation' => array(
'default' => array(
'place' => array(
'label' => 'Places',
'route' => '/place',
'pages' => array(
'country' => array(
'label' => 'Countries',
'route' => '/place/country',
),
'state' => array(
'label' => 'States',
'route' => '/place/state',
),
'city' => array(
'label' => 'Cities',
'route' => '/place/city',
),
),
),
),
),
Run Code Online (Sandbox Code Playgroud)
然后我为Zend/Navigation实例编写了一个加载器:
'service_manager' => array(
'factories' => array(
'translator' => 'Zend\I18n\Translator\TranslatorServiceFactory',
'navigation' => 'Zend\Navigation\Service\DefaultNavigationFactory',
),
),
Run Code Online (Sandbox Code Playgroud)
但我反复得到这个例外:
致命错误:Zend\Mvc\Router\Exception\RuntimeException:在C:\ wamp\www\bsol\vendor\zendframework\zendframework\library\Zend\View\Helper\Navigation\AbstractHelper.php中找不到名称为""的路由第471行
我试图解决将此行添加到菜单声明中的问题:
'pages' => array( …Run Code Online (Sandbox Code Playgroud)