中有一个方法isActive()
。Zend_Navigation
但它对当前路径中的所有元素都返回 true(即使当前路径是 parent ,父节点li
也是活动的,所有子节点也是活动的li
)。
有没有类似isCurrent()
, 判断当前菜单项是否为当前页面的方法?
我只想将自定义类属性添加到ul 和 li 的整个嵌套树中的一个当前元素。
中有一个方法isActive()
。Zend_Navigation
但它对当前路径中的所有元素都返回 true(即使当前路径是 parent ,父节点li
也是活动的,所有子节点也是活动的li
)。
有没有类似isCurrent()
, 判断当前菜单项是否为当前页面的方法?
我只想将自定义类属性添加到ul 和 li 的整个嵌套树中的一个当前元素。
更容易:
$activeElement = $view->navigation()->findOneBy('active', 1);
如果你在你的视图脚本中,你可以使用:
$activeElement = $this->navigation()->findOneBy('active', 1);
您将需要使用自己的导航视图脚本,但这相当简单。然后尝试:
$this->navigation()->findActive($this->yourNavContainer);
这将返回一个对象, var dump 它,您将看到您需要的数据。我认为该变量简称为“页面”。在构建菜单之前/后调度之前执行此操作,然后在您的视图脚本中,执行 if 语句以根据当前循环项目检查此 var(我猜您在 foreach 中循环它)。