Как вставить страницу в контейнер Zend Navigation
В настоящее время я использую Zend_Navigation для создания меню из XML-файла, так что пока все хорошо, меню отображается правильно. Моя проблема в том, что мне нужно добавить страницы в определенное место в контейнере навигации. Пока что у меня есть:
$this->_navContainerConfig = new Zend_Config_Xml(APPLICATION_PATH .
'/configs/navigation.xml', 'nav');
$this->_navContainer = new Zend_Navigation($this->_navContainerConfig);
$this->_navContainer->findById('defaultindex')->addPage(array(
'label' => 'Open Prints',
'module' => 'default',
'controller' => 'artwork',
'action' => 'list',
'params' => array(
'medtyp' => 2),
'resource' => 'default:artwork',
'privilege' => 'list',
'route' => 'default'
));
Это просто добавляет подстраницу к идентификатору страницы "defaultindex", мне нужно добавить страницу после страницы "defaultindex".
Кто-нибудь знает, как этого добиться?
Большое спасибо заранее и счастливого Рождества всем,
Garry
1 ответ
Вы можете использовать метод addPage напрямую из Zend_Navigation_Container
$this->_navContainer->addPage(your_array);
Он добавит вашу страницу после всех страниц, уже находящихся в контейнере. Если вам нужен пользовательский порядок, вам нужно расширить Zend_Navigation_Container и добавить методы для перезаписи свойства $_index страниц в контейнере, чтобы отсортировать их в нужном вам порядке.