我的布局放在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 我怎么能这样做?
答案 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,其中讨论了脚本的排序。
重要的是要记住,他们没有提到的是你的视图脚本在布局之前呈现。