Typo3 Snippets  >  Snippets  >  Extension-Programmierung  >  JavaScript einbinden

JavaScript einbinden

Wenn man auf einer TYPO3-Seite eigenen JavaScript-Code einbinden möchte, kann man verschiedene Methoden nutzen:

1) JavaScript in einer eigenen Extension einbinden

Wenn man für eine eigene Extension JavaScript einbinden möchte, gibt es die elegante Möglichkeit den JS-Code nur dann einzubinden, wenn das Plugin auch wirklich auf der Seite eingefügt ist. Dazu schreibt man in seiner PHP-Datei seiner Extension (z.b. class.tx_myExt_pi1.php) folgenden Code:

$GLOBALS['TSFE']->setJS($this->extKey,'alert("Hallo Javascript");'); 

Allerdings ist es mit dieser Technik offensichtlich nicht möglich ganzeJS-Dateien einzubinden. Falls diese auch im <BODY> eingebunden werdenkönnen, kann man diese jedoch auch einfach im HTML-Template oder in der PHP-Datei einbind en. Dies kann man mit:

$GLOBALS['TSFE']->additionalHeaderData[$this->prefixId] = '<script type="text/javascript"src="myJS.js"
     language="JavaScript"></script>';

2) JavaScript per TypoScript einbinden

Dazu schreibt man in ein TypoScript-Template folgenden Code:

page.includeJS.file1 = pfad/zu/datei/javascriptdatei.js
page.includeJS.file2 = pfad/zu/datei/javascriptdatei2.js

Auf diese Weise kann man beliebig viele Javascript-Dateien in TYPO3 mit Typoscript einbinden.

Man muss natürlich keine Datei einbinden, sondern kann auch direkt JavaScript schreiben:

page.headerData.20 = TEXT
page.headerData.20.value (
     <script type="text/javascript">
       alert("Hallo Welt!");
     </script>
)

Falls page.headerData.20 schon durch eine andere Extension gesetzt wird, einfach eine andere Zahl verwenden. Diese Methode bindet den JavaScript-Code auf allen TYPO3-Seiten mit diesem Template ein.