Zend Framework: навигация

php zend framework

Имеется навигация:
$pages = array(
array(
'module' => 'default',
'controller' => 'index',
'action' => 'index',
'label' => 'Главная'
),
array(
'route' => 'url',
'params' => array('url'=>'about'),
'label' => 'О проекте',
));
$container = new Zend_Navigation($pages);
$view->top_nav = $container;

Как внутри view получить label текущей страницы согласно навигации?
Ответы:
первое что пришло на ум
foreach ($container as $page) {
   if ($page->isActive()) echo $page->label;
}
//рекурсивная обработка поддерживает вложенность меню
$it = new RecursiveIteratorIterator($this->top_nav, RecursiveIteratorIterator::SELF_FIRST);
foreach ($it as $page)          
   if ($page->isActive())
   {
       echo $page->label;              
       break;
   }
$activePage = $this->view->navigation()->findOneBy('active', true); //from controller
$activePage = $this->navigation()->findOneBy('active', true); //from view
$label = $activePage->get('label');


14 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.