Zum Inhalt springen

Javascript richtig einbinden

Erstellt am 8. August 2011 · 5 Antworten · letzte Antwort am 8. August 2011

Tags: Frage

burn4ever ·

Hallo,
ich möchte gerne wie hier beschrieben mein menü-div slidebar machen.
Jetzt die grundlegende Frage.
Wo schreibe ich am besten den ganzen Javascript Code rein bzw. integriere diesen in meine Typo3 Seite?

Lege ich hierfür ein extra Template an schreibe das Javascript ins SETUP und schließe dieses ins Basis-Template ein?

king.​darki ·

Hallo,

auf jeden Fall würde ich das Javascript in eine externe Datei auslagern, und diese dann mit TS in den Head-Bereich laden.

Die Frage ist nur noch, benutzt du jQuery bzw. besser gesagt die t3jquery-Extension um jQuery auf jeder Seite einzubinden?
Denn dann hast du 2 unterschiedliche TS-Varianten, um die Datei einzubinden.

Mit jQuery würde das so aussehen:

page = PAGE
page {

  ...

  20 = USER
  20 {
    userFunc = tx_t3jquery->addJS
    jsfile = pfad/zur/Datei/dateiname.js
    # wenn die Datei komprimiert werden soll:
    compress = 1
    # wenn die Datei in den Footer geladen werden soll:
    tofooter = 1
  }
}

Und ohne t3jquery:

page = PAGE
page {
  headerData {
    10 = TEXT
    10.value = <script type="text/javascript" src="pfad/zur/Datei/dateiname.js"></script>
}

Grüße Patrick

burn4ever ·

Danke für die schnelle Antwort.
Habe das auch soweit verstanden ;-)

Eine frage habe ich aber noch:
Ich arbeite mit der T3jQuery Extension. Sehe ich das richtig das mit der ersten Methode das Javascript in die jQuery-Library geschrieben wird?
Wenn ja warum? ;-)

king.​darki ·
burn4ever schrieb

Ich arbeite mit der T3jQuery Extension. Sehe ich das richtig das mit der ersten Methode das Javascript in die jQuery-Library geschrieben wird?
Wenn ja warum? ;-)

Hm ne ich glaub dem ist nicht so...
Ich glaube, das sorgt einfach nur dafür, dass die JS-Datei erst NACH jQuery eingebunden wird.

Aber für eine genauere Aussage müsste man sich erstmal den Quellcode von t3jquery anschauen 😉

Grüße Patrick

king.​darki ·

Und hier noch schnell die Bestätigung aus der Datei class.tx_t3jquery.php für die Funktion "addJS":

* Function to be used from TypoScript to add Javascript after the jquery.js
*
* This is a small wrapper for adding javascripts script after the jQuery Library.
* This is needed in some situations because headerdata added with "page.headerData"
* is placed BEFORE the headerdata which is added using PHP.

Außerdem kannst du dadurch so Specials wie "compress" und "tofooter" benutzen...

Grüße Patrick