Zend Framework: как сделать вид из bootstrap.php - PullRequest
0 голосов
/ 11 сентября 2010

Например, у меня есть echo $this->escape($this->test); в index.phtml и в контроллере $this->view->test = 'test message';, но я хочу сделать это из начальной загрузки, потому что я хочу показать форму на каждой странице (контроллере).

Ответы [ 2 ]

1 голос
/ 12 сентября 2010
protected function _initView()
{
    $this->view = new Zend_View();
    $this->view->test = 'test message';
    $viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('ViewRenderer'); 
    $viewRenderer->setView($this->view);
}

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

<?php
class My_Controller_Plugin_AddSomethingToViewInAllControllerActions extends Zend_Controller_Plugin_Abstract
{
    public function preDispatch()
    {
        $viewRenderer = Zend_Controller_Action_HelperBroker::getExistingHelper('ViewRenderer');
        $viewRenderer->initView();
        $view = $viewRenderer->view;

        $view->test = 'test message';
    }
}
0 голосов
/ 11 сентября 2010

извините, я сделал это

    $view = new Zend_View;
    $view->setBasePath(APPLICATION_PATH . "/views");
    $view->arr = 'message';
    echo $view->render('test.php');
...