【问题标题】:Zend Navigation: current pageZend 导航:当前页面
【发布时间】:2011-03-11 09:17:39
【问题描述】:

Zend_Navigation 中有一个方法isActive()。但它对当前路径中的所有元素都返回 true (父 li 处于活动状态,所有子也处于活动状态,即使当前是父 li)。

有没有类似isCurrent()的方法,判断当前菜单项是否为当前页面?

我只是想将自定义类属性添加到一个,即ul和li的整个嵌套树中的当前元素。

【问题讨论】:

  • 您确定您的代码正确吗? isActive() 应该只为当前页面返回 true,而不是父页面或子页面。

标签: zend-framework zend-navigation


【解决方案1】:

更容易:

$activeElement = $view->navigation()->findOneBy('active', 1);

如果您在视图脚本中,您可以使用:

$activeElement = $this->navigation()->findOneBy('active', 1);

【讨论】:

  • 对我来说比接受的答案更好。谢谢!
【解决方案2】:

您需要使用自己的导航视图脚本,但这相当简单。然后试试:

$this->navigation()->findActive($this->yourNavContainer);

这将返回一个对象,通过 var 转储它,您将看到所需的数据。我认为该变量简称为“页面”。在构建菜单之前/之后执行此操作,然后在视图脚本中执行 if 语句以根据当前循环项目检查此 var(我猜您在 foreach 中循环它)。

【讨论】:

    猜你喜欢
    • 2023-03-06
    • 1970-01-01
    • 2012-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-01
    • 2019-01-26
    相关资源
    最近更新 更多