2010-09-09 4 views
3

Я использую zend_navigation для создания меню. Что хорошо работает. Теперь я смотрю, могу ли я взять текущую страницу и установить ее как заголовок страницы с помощью headTitle. Есть ли способ сделать это?zend headtitle using zend_navigation

или

, как я могу использовать файлы конфигурации (.ini) для создания PAGETITLE и мета-данные?

ответ

7

В контроллере вы можете получить текущую активную страницу и получить ее ярлык. Затем вы ставите его как заголовок страницы.

//get active page and its label 
$activePage = $this->view->navigation()->findOneBy('active', true); 
$label = $activePage->get('label'); 

//set page label as html title 
$this->view->headTitle($label); 

Вы также можете написать пользовательский плагин, чтобы сделать это для Вас в каждом запросе:

class Plugin_NavigationTitle extends Zend_Controller_Plugin_Abstract 
{ 
    function preDispatch(Zend_Controller_Request_Abstract $request) 
    { 
     //get view 
     $view = Zend_Controller_Action_HelperBroker::getExistingHelper('ViewRenderer')->view; 

     //get active page and its label 
     $activePage = $view->navigation()->findOneBy('active', true); 
     $label = $activePage->get('label'); 

     //set page label as html title 
     $view->headTitle($label); 
    } 
} 
+0

Хороший и правильный ответ. Не знаю, почему @JapanPro не принял его. –