[TYPO3-german] jQuery-Bibliothek in eigenen Extensions

Stephan Bauer stephan_bauer at gmx.de
Thu May 16 22:40:56 CEST 2013


Hallo Peter,

kennst Du die Extension t3jquery:
http://typo3.org/extensions/repository/view/t3jquery

Hiermit kann das Problem gelöst werden.

Grüße

Stephan

schrieb Peter Linzenkirchner:
> Hallo!
>
> ich habe in der Extension-Entwicklung ein Problem mit dem Einbinden von jQuery, das generellerer Natur ist, deshalb würde ich das gerne diskutieren.
>
> Viele Extensions benötigen jQuery und binden die Bibliothek auch ein. Sobald man mehr als eine Extension installiert, wird die Bibliothek also doppelt installiert und man bekommt JavaScript-Fehler. Meist kann man das Einbinden der Bibliothek per Typoscript abschalten, z. B. bei Powermail über dieses Typoscript:
>
> page {
> 	includeJSFooterlibs {
> 		powermailJQuery >
> 		powermailJQuery.external >
> 	}
> }
>
> Man kann also theoretisch das Einbinden der Bibliothek in allen Extensions abschalten und nur in einer drin lassen. Aber in dem Fall gibt es zwei Probleme:
>
> 1. Header / Footer
> Ein Teil der Extensions bindet das eigene JavaScript bzw. die jQuery-Plugins im Header ein. Wenn man jQuery selbst im Footer einbindet, bekommt man entsprechende Fehlermeldungen, dass jQuery nicht gefunden wird.
> Man muss
> - entweder eine eigene jQuery-Bibliothek in den Head einbinden,
> - oder dafür sorgen, dass alle Extensions ihre jQuery-Plugins in den Footer legen.
>
> 2. allgemeines Reihenfolgeproblem
> includeJSFooterlibs scheint die JavaScript-Bibliothek nicht in alphabetischer Reihenfolge zu laden sondern in der Lade-Reihenfolge der Extensions. Das kann zu kuriosen Zufällen führen: mal ist jQuery an erster Stelle, mal nicht ... mal wirft es Fehler, mal nicht. und es reicht, eine Extension kurz zu deinstallieren und schon geht es nicht mehr.
>
> ---
>
> gibt es da Lösungen, Ideen? Wie gehe ich in einer eigenen Extension am besten damit um?
>
> Ich binde momentan meine JavaScript-Bibliothek so ein:
> $GLOBALS['TSFE']->pSetup['includeJSFooterlibs.'][$this->extKey.'_1']  ...
> das erscheint mir zunehmend als schlechte Idee.
>
> Alex macht es in Powermail so:
>
> page {
> 	includeJSFooterlibs {
> 		....
> 	}
> }
>
> das ist flexibler denke ich, weil man einfach den Abschnitt aus dem Extension-Setup kopieren, erweitern und dann ins page-setup einbauen kann. Aber es ist nicht benutzerfreundlich ...
>
> Danke
> Peter
>
>
>
> --
> Xing: http://www.xing.com/profile/Peter_Linzenkirchner
> Web: http://www.typo3-lisardo.de
> Facebook: http://tinyurl.com/lisardo-multimedia
>



More information about the TYPO3-german mailing list