2010-02-25 2 views
0

Просто нужно настроить навигацию для каждого модуля администратора, я знаю, что это странно, и не очень хорошая практика может быть, но мне нужно установить его для части администратора. благодаряКак получить представление От ребенка Zend_Controller_Plugin_Abstract?

ответ

2

Попробуйте это:

$viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer'); 
if (null === $viewRenderer->view) { 
    $viewRenderer->initView(); 
} 
$view = $viewRenderer->view; 

Этот отрывок взят из Zend_Layout::getView();

Если вам тоже понадобится макет, вы можете расширить Zend_Layout_Controller_Plugin_Layout вместо Zend_Controller_Plugin_Abstract.

Затем, чтобы получить доступ к макет сделать:

$this->getLayout(); 

И доступ к окну, сделайте следующее:

$this->getLayout()->getView(); 
+0

спасибо, кстати, Zend_Controller_Action_HelperBroker реализует некоторые известные дизайнерские паттерны, просто слово брокерское звучание очень похоже на шаблон? – simple

+0

Я предполагаю, что он реализует шаблон брокера. ;-) Не владейте им, чтобы быть почетным. Поэтому я не мог рассказать вам об этом больше. –

+0

Хорошо спасибо, то сам наткнется на шаблон Брокера. – simple

0

Хорошо, я извлекаться как

$layout = Zend_Layout::getMvcInstance(); 
$navigation = $layout->getView()->navigation(); 

внутри плагин, который расширяет Zend_Controller_Plugin_Abstract спасибо, еще лучшие методы приветствуются

Смежные вопросы