如何从Zend Framework中的控制器操作将JS或CSS文件添加到队列的末尾?

时间:2016-10-26 18:22:37

标签: php zend-framework

我已经阅读了很多关于此的主题(帖子末尾的列表),但我无法使我的代码正常工作。首先,我使用旧的 Zend Framework 1.11 。我有以下布局(只是一个例子):

<?php
    $this->headScript('file','/js/jquery/jquery-1.12.4.min.js');
    $this->headScript('file','/js/jquery/jquery-migrate-1.4.1.min.js');
    // more CSS & JS files goes here
    // some PHP code  goes here
?>
<html>
    <head>
        <?php
           echo $this->headLink();
           echo $this->headStyle();
           echo $this->headScript();
           echo $this->headInline();
        ?> 
    </head>
    ...
</html> 

这是我控制器的功能:

public function indexAction()
{
    $this->view->headScript()->appendFile('/js/jsgrid.js', 'text/javascript');
    $this->_helper->layout->setLayout('admin_console');
}

jsgrid.js处的代码取决于要加载的jQuery。我想从控制器加载文件作为最后一个,所以结果将是:

<script type="text/javascript" src="/js/jquery/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="/js/jquery/jquery-migrate-1.4.1.min.js"></script>
<script type="text/javascript" src="/js/jsgrid.js"></script>

但是从上面的代码我得到了这个:

<script type="text/javascript" src="/js/jsgrid.js"></script>
<script type="text/javascript" src="/js/jquery/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="/js/jquery/jquery-migrate-1.4.1.min.js"></script>

导致脚本失败的原因。我怎么能做到这一点?有什么建议吗?

主题列表:

1 个答案:

答案 0 :(得分:0)

经过多次尝试,我终于找到了解决方案:

$this->view->inlineScript()->appendFile('/js/jsgrid.js', 'text/javascript');