如何在zend框架中附加脚本文件

时间:2012-07-13 01:15:35

标签: zend-framework zend-layout

我的布局放在layout / scripts / layout.phtml中 我已将下面的代码放在layout.phtml

的head部分中
<?php
print $this->headScript()->appendFile($this->baseUrl().'/js/jquery-1.7.2.min.js')
                         ->appendFile($this->baseUrl().'/js/simpla.jquery.configuration.js');
?>

现在我想从视图中追加另一个javascript文件。为此,我写了以下代码:

 $this->headScript()->appendFile($this->baseUrl().'js/fancybox/jquery.fancybox-1.3.4.pack.js');

虽然这附加了文件,但它出现在我的jquery-1.7.2.min.js之前。我想要的是我想在我的jquery-1.7.2.min.js下添加jquery.fancybox-1.3.4.pack.js 我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

您的视图脚本在布局之前呈现,因此在布局中对appendFile()的调用会导致在您在视图脚本中附加的脚本之后附加这些脚本(jquery-1.7.2和simpla.jquery)。

要解决此问题,请在布局中使用prependFile()至少为主jQuery脚本。

您的布局可能如下所示:

<?php
print $this->headScript()
           ->appendFile($this->baseUrl().'/js/simpla.jquery.configuration.js')
           ->prependFile($this->baseUrl().'/js/jquery-1.7.2.min.js');

无需更改视图脚本,原样很好。

参见HeadScript Helper示例#23,其中讨论了脚本的排序。

重要的是要记住,他们没有提到的是你的视图脚本在布局之前呈现。