Hi,
ich habs auch grad mal ausprobiert und muss sagen, dass ich es auch nicht hinbekommen habe.
@steffenk's post:
$GLOBALS['TSFE']->JSCode ist markiert als deprecated und man soll $GLOBALS['TSFE']->additionalJavaScript verwenden.
Mir ist es nicht gelungen, über $GLOBALS['TSFE']->inlineJS etwas zu produzieren, was später im Dokument auftaucht. Habe diese drei Varianten ausprobiert:
$GLOBALS['TSFE']->inlineJS[$this->extKey] = '
/**
* Hier gibts viel Kommentare */
function test() {
/* Ich bin Kommentar */
alert(1);
}
';
//dasselbe mit:
$GLOBALS['TSFE']->inlineJS[] = ...
$GLOBALS['TSFE']->inlineJS = ...
Wenn man obigen String in
$GLOBALS['TSFE']->additionalJavaScript[$this->extKey] = ...
einfügt, taucht es in script tags gewrapped im HEAD auf. Ist aber weit entfernt von einer minified Version... (Ich habe per Debugger überprüft, dass der Flag richtig gesetzt ist...)
Hab dann versucht rauszufinden, was das Problem ist und ein durchsuchen der kompletten t3lib und typo3 Ordner hat lediglich folgende sinnvolle Stelle in tslib_pagegen ergeben:
// Should minify?
if ($GLOBALS['TSFE']->config['config']['minifyJS']) {
$minifyErrorScript = $minifyErrorInline = '';
$_scriptCode = t3lib_div::minifyJavaScript($_scriptCode,$minifyErrorScript);
if ($minifyErrorScript) {
$GLOBALS['TT']->setTSlogMessage($minifyErrorScript, 3);
}
if ($_inlineJS) {
$_inlineJS = t3lib_div::minifyJavaScript($_inlineJS,$minifyErrorInline);
if ($minifyErrorInline) {
$GLOBALS['TT']->setTSlogMessage($minifyErrorInline, 3);
}
}
}
Wie man sieht wird hier lediglich das inlineJS gepackt wo ich ncihts hineinbekommen habe.
Wie gehts denn nun??
@Tetramatrix: Händisch ist halt aufwendig und daher fehleranfällig. außerdem nervt es, wenn man größere Projekte hat und evtl. noch Leute, die sich nicht so gut auskennen, die daran aber arbeiten sollen. Ich hab das Script oben mittlerweile so erweitert, dass ich einen Debug flag für die lokale devel-Version setze bei der das nicht automatisch minified wird und den ich auf dem production server ausmachen kann. Alles woran man da noch denken muss is, den entsprechenden Cache bei einem update zu clearen aber das muss man ja eh immer tun.