Zend Navigation:当前页面

tak*_*hin 6 zend-framework zend-navigation

有一种方法isActive()Zend_Navigation.但它对当前路径中的所有元素都返回true(父级li是活动的,所有子级也是如此,即使当前是父级li).

是否有任何方法isCurrent(),以确定当前菜单项是否是当前页面?

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

小智 7

更容易:

$activeElement = $view->navigation()->findOneBy('active', 1);
Run Code Online (Sandbox Code Playgroud)

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

$activeElement = $this->navigation()->findOneBy('active', 1);
Run Code Online (Sandbox Code Playgroud)


Ash*_*ley 0

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

$this->navigation()->findActive($this->yourNavContainer);
Run Code Online (Sandbox Code Playgroud)

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