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
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.
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 ?
Anscheinend gibt es nicht nur einen Weg ...
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