Zend Navigation:为导航层次结构之外的操作定义活动分支

时间:2012-07-24 08:44:46

标签: zend-framework zend-navigation

我有一个先前的要求,这使我在使用Zend Navigation时遇到问题。一个简化的例子是一个系统,它有一个像“专辑”这样的数据库实体,用户需要一个“列表”,“添加”,“编辑”和“删除”页面。 “列表”和“添加”页面包含在菜单系统中,但特定于“专辑”的“编辑”和“删除”页面将从“列表”页面链接。

问题是导航到“编辑”或“删除”页面会导致“相册”菜单分支无效。显然这是因为这些页面不在导航层次结构中。

我正在寻找:

  1. 将这些页面放在导航层次结构中但不显示它们的好方法。
  2. 一种从控制器中定义当前活动分支的方法,以便我可以保持菜单的相应分支处于活动状态。
  3. 我没想到的方法可以实现这一点。
  4. 由于

1 个答案:

答案 0 :(得分:1)

确定自从上述潜在方法发布问题后,发现了一个可能的解决方案。

创建菜单容器时,请使用'visible'属性,例如

    array(
      'label'      => 'Edit Vehicle',
      'action'     => 'update',
      'controller' => 'vehicle',
      'route'      => 'update-vehicle',
      'visible'    => false
    ),
    ...

对于应该在菜单中的每个页面,以便生成适当的“活动”行为,但不适合显示。

然后在部分生成菜单测试

$page->isVisible 

并做出相应的反应。但这是规定的方法吗?