Zend Framework: получить полный вывод в postDispath при использовании Layout - PullRequest
0 голосов
/ 03 января 2011

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

class Controller_Action_Helper_LayoutLoader extends Zend_Controller_Action_Helper_Abstract
{
    public function preDispatch()
    {
        $config = Zend_Registry::get("config");

        $module = $this->getRequest()->getModuleName();

        if (isset($config->$module->resources->layout->layout) && !$this->getRequest()->format)
        {
            $layoutScript = $config->$module->resources->layout->layout;
            $this->getActionController()->getHelper('layout')->setLayout($layoutScript);
        }
    }
}

В плагине контроллера я хочу получить весь ответ примерно так:

$this->getResponse()->getBody()

Это однаковозвращает только результат действия, но не вывод макета.

Как собрать вместе весь вывод, макет и действие?

Спасибо!

1 Ответ

1 голос
/ 03 января 2011

Я считаю, что Zend_Layout работает на postDispatch() с высоким индексом стека.Таким образом, чтобы получить контент, вам, возможно, потребуется получить доступ позже, на dispatchLoopShutdown().

...