t3lib_PageRenderer addJs Beispiele

addJsLibrary, addJsFooterLibrary, addJsFile, addJsFooterFile, addJsInlineCode, addJsFooterInlineCode

Bisheriger Ansatz eine JS Datei einzubinden


$data = '<script src="'.$pfad-zu-datei.'"></script>' . chr(10);
$GLOBALS['TSFE']->additionalHeaderData['extension-key'] .= $data;
/* oder auch */
$GLOBALS['TSFE']->additionalFooterData['extension-key'] .= $data;
Diese Zeiten sind vorbei! (DEPRECATED)

In einigen Foren sieht man immer noch den früheren Ansatz einen JavaScript Datei per PHP Code im Seitenheader (<head>) einzubinden. Seit TYPO3 4.3.x hat sich dies durch mehr Funktionen geädert.

JavaScript Library einbinden

Als erster Parameter wird der Name der Library angegeben. Wenn dieser Name bereits vorhanden ist, wird die Library nicht ein weiteres mal geladen.

Leider gibt es Aktuell (TYPO3 4.5.3) keine Möglichkeit eine HTML5 Ausgabe ohne type="text/javascript" zu erzeugen.

addJsLibrary, addJsFooterLibrary

/* ohne http:, damit es auch mit https: funktioniert */
$src = '//ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js'

/* im Header einbinden */
$GLOBALS['TSFE']->getPageRenderer()->addJsLibrary('query',$src);

/* im Footer einbinden */
$GLOBALS['TSFE']->getPageRenderer()->addJsFooterLibrary('query',$src);

/* eine Library nur für den Internet Explorer per Conditional Comments laden */
$GLOBALS['TSFE']->getPageRenderer()->addJsLibrary('query',$src,'',FALSE,FALSE,'<!--[if IE]>|<![endif]-->');

TYPO3 Library

/* Prototype Library (von TYPO3) laden */
$GLOBALS['TSFE']->getPageRenderer()->loadPrototype();

/* Scriptaculous Library (von TYPO3) und alle Module laden ( inkl. Prototype ) */
$GLOBALS['TSFE']->getPageRenderer()->loadScriptaculous($modules = 'all');

/* Scriptaculous Library (von TYPO3) ohne Module laden ( inkl. Prototype ) */
$GLOBALS['TSFE']->getPageRenderer()->loadScriptaculous();

/* Scriptaculous mit Module (builder,effects,dragdrop,controls,slider) laden */
$GLOBALS['TSFE']->getPageRenderer()->loadScriptaculous('builder,effects,dragdrop');

/* ExtJs mit Base Adapter und inline Code (Ext.BLANK_IMAGE_URL) */
$GLOBALS['TSFE']->getPageRenderer()->loadExtJS($css = TRUE, $theme = TRUE, $adapter = '');

/* ExtJs mit inline Code (Ext.BLANK_IMAGE_URL) */
$GLOBALS['TSFE']->getPageRenderer()->loadExtCore();