Zum Inhalt springen

Javascript Datei einbinden

Erstellt am 10. Februar 2006 · 5 Antworten · letzte Antwort am 10. Februar 2006

Tags: Frage

konkret ·

Wie binde ich eine Javascript Datei in den Header ein?
Hab das mal so probiert, aber das funktioniert nicht;
hier ein Auszug aus meiner class.tx_mxExt_pi1.php:

<?php
function main($content,$conf)	{
...
$this->pi_USER_INT_obj=1;
#Hier beginnt die JS Einbindung
$jsFilePath = t3lib_extMgm::siteRelPath('myExt').'pi1/script.js';
$extraJS = '<script src="'.$jsFilePath.'" type="text/javascript"></script>';
$GLOBALS['TSFE']->additionalHeaderData[$this->extKey] = $extraJS;
...
?>

Wo in der class.tx_mxExt_pi1.php muß ich das hinschreiben?

Danke im voraus konkret

woida ·

Das ist ein bisschen "tricky" wenn mans nicht weiß:

$GLOBALS['TSFE']->pSetup['headerData.']['123'] = 'TEXT';
$GLOBALS['TSFE']->pSetup['headerData.']['123.']['value'] = $extraJS;

Die Nummer (hier 123) kann frei gewählt werden. Wenn du aber im Code weiter unten wieder die 123 verwendest, wird logischerweise das vorherige überschrieben. Der "Trick" dabei ist der Punkt hinter der Nummer in der 2. Zeile.

steffenk ·

komischerweise macht der Autor von kj_imagelightbox das ohne Objekt und es geht:

if($this->data['tx_kjimagelightbox_imagelightbox']==1 AND $this->data['image_zoom'] == 0 AND $this->data['image_link'] == ''){			
				$GLOBALS['TSFE']->additionalHeaderData['lightbox_js'] = '<script type="text/javascript" src="'.t3lib_extMgm::extRelPath('kj_imagelightbox').'Lightbox/lightbox.js"></script>';
				$GLOBALS['TSFE']->additionalHeaderData['lightbox_css'] = '<link rel="stylesheet" href="'.t3lib_extMgm::extRelPath('kj_imagelightbox').'Lightbox/lightbox.css" type="text/css" media="screen" />';
				$theValue = '<a href="'.$info['origFile'].'" rel="lightbox" title="'.$this-">data['imagecaption'].'"><img src="'.htmlspecialchars($GLOBALS['TSFE']-" alt="" />absRefPrefix.t3lib_div::rawUrlEncodeFP($info[3])).'" width="'.$info[0].'" height="'.$info[1].'"'.$this->getBorderAttr(' border="'.intval($conf['border']).'"').($conf['params']?' '.$conf['params']:'').($altParam).' /></a>';
			// Imagelightbox end
			}

warum ?

konkret ·

Danke für die Antworten!
Es funktioniert jetzt; habs schließlich so gemacht

<?php
$jsExtra = t3lib_extMgm::siteRelPath('myExt').'pi1/script.js';
$GLOBALS['TSFE']->additionalHeaderData['includeJS']='<script language="JavaScript" type="text/javascript" src="'.$jsExtra.'"></script>';
?>

Außerdem habe ich alle

<script type="text/javascript"></script>

tags aus der script.js entfernen müssen, denn erst dann hat es funktioniert!

mfg konkret