2012-04-11 143 views
0

我使用Zend_Navigation有问题,这是我的navigation.xml文件Zend_Navigation - 导航菜单产生不适当的导航链接

<?xml version="1.0" encoding="UTF-8"?> 
<configdata> 
    <admin> 
     <dashboard> 
      <label>Dashboard</label> 
      <module>admin</module> 
      <controller>dashboard</controller> 
      <action>index</action> 
     </dashboard> 
    </admin> 
</configdata> 

这里是我的bootsrapping方法。

public function _initNavigation() 
{ 
    $this->bootstrap('layout'); 
    $layout = $this->getResource('layout'); 
    $view = $layout->getView(); 
    $config = new Zend_Config_Xml(APPLICATION_PATH.'/configs/navigation.xml', 'admin'); 
    $navigation = new Zend_Navigation($config); 
    $view->navigation($navigation); 
} 

和我的管理布局admin.phtml包含

<?php echo $this->navigation()->menu(); ?> 

问题是相应的导航菜单仪表盘的变化与当前module/controller/action

例如。

if: 
current page: admin/dashboard/index 
generates `<a href="/admin/dashboard">Dashboard</a>` 

if: 
current page: admin/item/index 
generates `<a href="/admin/item">Dashboard</a>` 

而对于第二我期望的网址不会改变。应该生成第二种方法

current page: admin/item/index 
generates `<a href="/admin/dashboard">Dashboard</a>` 

发生了什么事?

回答

1

您是否定义了多个路线?如果是这样,请将<route>密钥添加到具有正确路由名称的navigation.xml文件的<dashboard>部分。

+0

是的我确定了多个路线,让我检查您的解决方案 – 2012-04-11 11:58:47

+0

它的工作。谢谢。 :) – 2012-04-11 12:36:54

+0

优秀。如果你使用'url()'视图助手,你也需要做同样的事情。第二个参数是要使用的路线。 – 2012-04-11 14:16:44