2014-07-01 43 views
1

任何人都知道如何檢查js/css文件是否已包含在typoscript中?TypoScript:檢查是否已包含JS/CSS文件

[Template_A.ts] 

page.includeJS { 
    jsfile = fileadmin/Template/js/jquery-1.10.2.min.js 
} 

現在如果我得到具有相同的延伸包括例如

[Extension_A.ts] 

page.includeJS { 
    jsfile = fileadmin/Template/js/jquery-1.10.2.min.js 
} 

是否有辦法防止這種雙代碼注入的?也許我有另一個模板,例如Template_B.ts其中不包含jquery - 比Extension_A.ts必須包含jquery本身。

Kinldy

回答

2

您可以使用includeJS中的相同密鑰,例如,如果包含文件兩次,它就會被覆蓋。

除此之外,你應該把jQuery納入includeJSlibs,這樣它才加載到其他JS文件之前。

除此之外,每個頁面的TS應該是唯一的。因此,您總是要確保所有資源都按順序包含在內。 你不應該包含帶有自動擴展TS設置的JS庫。使用你的文檔告訴集成商需要包含什麼,什麼不包含。

+0

好點。謝謝! –

1

的各種獨立和包容腳本通過插件和模板是TYPO3棘手的問題之一。據我所知,這一點不能單獨管理。

有一個plugin "t3jquery"提供構建,壓縮和共享一個常見的jQuery庫。它還有一個服務來分析其他插件的依賴關係。但是這通常不能解決問題,因爲許多插件不檢查已經加載的庫。

最穩定的方法是在TypoSkript中手動刪除所有插件對庫的引用。這給你一些簡單的額外的TypoSkript行。我用線這樣的:

plugin.tx_imagecycle_pi1.file.jQueryLibrary > 
plugin.tx_imagecycle_pi1.jQueryLibrary > 
plugin.tx_multicontent_pi1.file.jQueryLibrary > 
plugin.tx_multicontent_pi1.jQueryLibrary > 
# Fluid 
page.headerData.998 > 

您可以通過搜索在TypoSkript瀏覽器庫的名稱或grep荷蘭國際集團在插件的源代碼中找到匹配的TypoSkript描述。如果您希望將庫添加爲AJAX獲取的內容的一部分,那麼您也需要這樣做,從而將庫從頁面內容中分離出來。

這裏的嘖嘖(德國):http://jweiland.net/typo3/typoscript/javascript-manuell-entfernen-oder-einbinden.html

Futher可能性,您可以檢查:

  • 一些插件都寫在良好的結構,並提供忍住自己的JavaScript中的設置。
  • 一些腳本包含可能來自靜態模板,但來自插件,所以不要忘記在那裏看看。