2012-07-13 63 views
1

我的佈局都放在佈局/腳本里面Zend框架的腳本文件/ layout.phtml 我已經把layout.phtml我的頭部分中下面的代碼如何追加

<?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

您的視圖腳本在佈局之前呈現,因此在佈局中調用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說明了有關腳本排序的一些內容。

重要的是要記住,他們沒有提到的是您的視圖腳本得到呈現之前,佈局。