[TYPO3-german] Re: t3lib_div::readLLfile() schmeißt seit 4.6 mit Arrays um sich
Stefan Frömken
firma at sfroemken.de
Tue Sep 25 16:44:15 CEST 2012
Hallo TYPO3,
ich finde es richtig gut, dass TYPO3 endlich mal aufgeräumt wird. Ein
guter Schritt ist das Deprecation-Log. Cool ist auch, dass schon seit
der 4.5er Version wichtige Kernmethoden in eigene Klassen ausgelagert
wurden wie z.B. die Methoden aus t3lib_utility_Debug. Auch hier greift
das Deprecation-Log ein und schlägt allen Usern, die noch die alten
Aufrufe verwenden die neuen Methoden dieser Klasse vor.
Was ich aber nicht verstehe ist, wenn ich 4 Stunden für einen Corepatch
hinlege und dann gesagt bekomme: NEIN! Das geht so nicht, dass ist nicht
abwärtskompatibel! Mensch Leute...dat war für die 6er Version, warum
soll da noch etwas abwärtskompatibel bleiben?!
Naja...und nun stehe ich hier vor der kleinen TYPO3-Methode readLLfile,
die OHNE Ankündigung und OHNE Dokumentation und OHNE Alternativvorschlag
und OHNE Eintrag im Deprecation-Log einfach mal grundlegend geändert
wurde. Abwärtskompatibilität wird hier auf einmal sehr klein geschrieben.
Für alle TYPO3-Entwickler gelten die gleichen Vorgaben und doch habe ich
manchmal das Gefühl, das Patches von TYPO3-Teammembers und
TYPO3-Community eine völlig andere Gewichtung aufweisen.
In meinem Fall habe ich nun wie auch in der piBase-Programmierung auch
eine eigene Methode geschrieben (pi_getLL), die sich je nach
TYPO3-Version die Daten aus den unterschiedlichen Ebenen des
LOCAL_LANG-Arrays ziehen kann und ALLE Aufrufe an dieses damals sehr
einfache Array auf die neue Methode gemapped. Danke auch an die
extbase-Extension, die mit ähnlichen Problemen fertig werden musste:
if (is_array(self::$LOCAL_LANG[$extensionName][self::$languageKey][$key])) {
// TYPO3 >= 4.6
$value =
self::$LOCAL_LANG[$extensionName][self::$languageKey][$key][0]['target'];
} else {
// TYPO3 < 4.6
$value = self::$LOCAL_LANG[$extensionName][self::$languageKey][$key];
}
Stefan
Am 24.09.2012 13:20, schrieb Stefan Frömken:
> Hallo zusammen,
>
> folgender Code hat lange seinen Dienst erfüllt:
>
> $tempLOCAL_LANG = t3lib_div::readLLfile($basePath,$lang);
>
> Seit TYPO3 4.6 erscheint in meinen Templates auf einmal "Array" statt
> der eigentliche Wert. Selbst mit der neuen Variante klappt es nicht:
>
> $xmlParser = t3lib_div::makeInstance('t3lib_l10n_parser_Llxml');
> $tempLOCAL_LANG = $xmlParser->getParsedData($basePath, $lang);
>
> Welche Methode muss ich verwenden, damit mir:
>
> $tempLOCAL_LANG['de']['key']
>
> wieder Texte zurück liefert?
>
> Stefan
More information about the TYPO3-german
mailing list