Отображать только часть объекта Zend_Navigation в меню

У меня есть несколько навигационных меню в моем макете. Главное меню и подменю.

При нажатии на элемент в главном меню он показывает, какой элемент является активным. При загрузке страницы в подменю главное меню теряет свой контекст и не показывает, какой элемент активен.

Я настроил свою навигацию, используя файл конфигурации XML, и это читается в моем Bootstrap.php

$navContainerConfig = new Zend_Config_Xml(APPLICATION_PATH . '/configs/navigation.xml', 'home');
$navContainer = new Zend_Navigation($navContainerConfig);
$this->view->navigation($navContainer);

$layout = $this->bootstrap('layout')->getResource('layout');
$layout->getView()->navigation($navContainer);

Затем в моем контроллере я создаю меню поддерева:

$subTree = $this->view->navigation()->findOneById('settings_index');
$this->view->subTree = $subTree;

В моем макете у меня есть основная навигация и показанное поддерево:

//main menu
echo $this->navigation()->menu()->renderMenu(null,array('maxDepth'   =>  0));

// ... some stuff ....

//subtree menu
echo $this->navigation()->menu()->renderMenu($this->subTree,array('maxDepth' => 0,'ulClass'=>'nav_sub'));

Как отобразить подменю в макете без потери главного меню?

4

Решение

Попробуй дальше

// main menu
echo $this->navigation()->menu()->renderMenu(null,array('maxDepth'   =>  0));

// sub menu
echo $this->navigation()->menu()->renderMenu(null,array('minDepth' => 1, 'maxDepth'   =>  1));

Оба меню должны иметь правильный «активный» класс.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]