2

我的布局放置在 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 我该怎么做?

4

1 回答 1

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 Example #23,其中介绍了脚本的顺序。

要记住他们没有提到的重要一点是,您的视图脚本在布局之前被渲染。

于 2012-07-13T02:17:46.970 回答