我在Application/config/module.config.php
的应用程序模块中进行了导航的以下配置:
'navigation' => array(
'default' => array(
array(
'label' => 'Home',
'route' => 'home'
)
)
)
我在Cortana/config/module.config.php
中的cortana模块中导航的配置如下:
'navigation' => array(
'default' => array(
array(
'label' => 'Home',
'route' => 'cortana-home'
),
array(
'label' => 'Resources',
'route' => 'cortana-resources'
),
array(
'label' => 'Reports',
'route' => 'cortana-reports'
),
array(
'label' => 'Services',
'route' => 'cortana-services'
),
array(
'label' => 'System',
'route' => 'cortana-system'
)
)
)
我在我的Cortana
模块中使用了布局。这是导航代码:
<div class="collapse navbar-collapse">
<?php echo $this->navigation('navigation')
->menu()
->setMinDepth(0)
->setMaxDepth(0)
->setUlClass('nav navbar-nav');
?>
</div><!--/.nav-collapse -->
最后,不幸的是我的结果编译了以下HTML:
<li>
<a href="/cortana/public/">Home</a>
</li>
<li class="active">
<a href="/cortana/public/cortana">Home</a>
</li>
<li>
<a href="/cortana/public/cortana/resources">Resources</a>
</li>
<li>
<a href="/cortana/public/cortana/reports">Reports</a>
</li>
<li>
<a href="/cortana/public/cortana/services">Services</a>
</li>
<li>
<a href="/cortana/public/cortana/system">System</a>
</li>
</ul> </div><!--/.nav-collapse -->
如您所见,有2个家庭导航页面。 看起来代码合并了Application
导航模块和Cortana
导航模块。
我需要的是为Cortana
模块导航,然后为Application
模块单独导航。
更新
我还尝试将navigation
密钥更改为cortana-navigation
以下内容:
/Cortana/config/module.config.php
'service_manager' => array(
'factories' => array(
'cortana-navigation' => 'Zend\Navigation\Service\DefaultNavigationFactory'
)
),
'cortana-navigation' => array(
'default' => array(
array(
'label' => 'Home',
'route' => 'cortana-home'
),
array(
'label' => 'Resources',
'route' => 'cortana-resources'
),
array(
'label' => 'Reports',
'route' => 'cortana-reports'
),
array(
'label' => 'Services',
'route' => 'cortana-services'
),
array(
'label' => 'System',
'route' => 'cortana-system'
)
)
)
然后在我的Cortana layout
(Cortana/view/layout/layout.phtml
)
<div class="collapse navbar-collapse">
<?php echo $this->navigation('cortana-navigation')
->menu()
->setMinDepth(0)
->setMaxDepth(0)
->setUlClass('nav navbar-nav');
?>
</div><!--/.nav-collapse -->
现在编译HTML的结果是:
<ul class="nav navbar-nav">
<li>
<a href="/cortana/public/">Home</a>
</li>
</ul> </div><!--/.nav-collapse -->
我很遗憾没有解释为什么它现在使用Application
导航(navigation
)而不是cortana-navigation
),但它确实意味着它对{{{}的更改做出了回应1}}
第二次更新
我注意到文件`Zend / Navigaiton / Service / DefaultNavigationFactory.php&#39; :
factory
这可能意味着使用默认名称