Я использовал помощник действий ViewRenderer, чтобы получить представление, когда оно мне нужно. Кажется, это наиболее распространенный способ, которым классы Zend получают доступ к объекту представления.
Итак, в плагине контроллера:
class App_Controller_Plugin_ViewSetup extends Zend_Controller_Plugin_Abstract {
public function postDispatch() {
$view = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer')->view;
echo $view->variable;
$view->variable = 'Hello, World';
}
}
В контроллере:
class IndexController extends Zend_Controller_Action {
public function indexAction() {
$this->view->variable = 'Go away, World';
}
}
В скрипте вида:
<?php echo $this->variable; ?>
Вывод: Уходи, Мир Уходи, Мир
Кажется, что проблема в том, что скрипт представления отрисовывается до вызова метода postDispatch (), потому что этот действительно возвращает объект основного вида.