Добавить сценарии в общий макет из контроллера - PullRequest
1 голос
/ 13 января 2010

Я использую Zend_view / Zend_Layout, но я хочу иметь возможность добавлять сценарии в общий шаблон в зависимости от контроллера, поэтому в контроллере я могу сделать что-то вроде:

public function someAction()
{
    $something->headScript()->appendFile('script.js','text/javascript');
    // etc etc
}

Я включил Zend_view / Zend_Layout так:

в application.ini:

resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts"

и в Bootstrap.php:

protected function _initView()
{
    $view = new Zend_View();
    $view->doctype('XHTML1_STRICT');
    $view->headTitle('zend layout tester');
    // Add it to the ViewRenderer
    $viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper(
        'ViewRenderer'
    );
    $viewRenderer->setView($view); 
    // Return it, so that it can be stored by the bootstrap
    return $view;
}

Ответы [ 2 ]

3 голосов
/ 13 января 2010

Это работает?

public function someAction()
{
    $this->view->headScript()->appendFile('script.js','text/javascript');
    // etc etc
}
1 голос
/ 13 января 2010

Поместить в макет шаблона

{headScript()}

А в действии контроллера:

$this->view->headScript()->appendFile('path/to/script.js');
...