Я рендеринг элементов верхнего уровня объекта Zend навигации в одном месте, как это:Rendering Активного филиала Зенд навигация без Top Level
echo $this->navigation()->menu()->setMaxDepth(0);
Как делает дерево навигации со второго уровня на вниз для активной ветки? Я попытался создать частичное, которое обходит объект $this->container
, но я не знаю, как определить, является ли текущий элемент текущей активностью. Как только я определил, что это активная ветка, как мне отображать меню? Я делаю это с трудом и пропуская что-то очевидное?
Спасибо!
UPDATE:
Я принял решение, потому что это то, что я использовал, но я также хотел бы дать ответ на мой актуальный вопрос, ради эталонным. ($this
является объектом зрения)
// Find the active branch, at a depth of one
$branch = $this->navigation()->findActive($this->nav, 1, 1);
if (0 == count($branch)) {
// no active branch, find the default branch
$pages = $this->nav->findById('default-branch')->getPages();
} else {
$pages = $branch['page']->getPages();
}
$this->subNav = new Zend_Navigation($pages);
$this->subNav
затем может быть использован для отображения подменю.
, откуда появляются страницы с индексами в $ branch ['pages']? – Sejanus