Call to undefined method getCharset() in LocallangXmlParser.php

Nach einem erfolgreichen TYPO3-Update von 4.5 auf 6.2 lief alles soweit. Bis zu dem Zeitpunkt, als im Backend ein neuer Datensatz per Web | Seite erstellt werden sollte (Wizard zum Erstellen neuer Inhaltselemente). Es erschien die Fehlermeldung

Fatal error: Call to undefined method tx_wtdirectory_pi1_wizicon::getCharset() in xxx/typo3_src-6.2.5/typo3/sysext/core/Classes/Localization/Parser/LocallangXmlParser.php on line 41

Nach einer kurzen Suche fand ich die Ursache: der statische Aufruf der Funktion getParsedData().

$LOCAL_LANG = t3lib_l10n_parser_Llxml::getParsedData($llFile, $GLOBALS['LANG']->lang);

Beheben liess sich der Bug folgendermaßen, wie auf TYPO3 Forge nachgelesen werden kann:

$version = class_exists('t3lib_utility_VersionNumber')
 ? t3lib_utility_VersionNumber::convertVersionNumberToInteger(TYPO3_version)
 : t3lib_div::int_from_ver(TYPO3_version);
if ($version >= 4007000) {
 $object = t3lib_div::makeInstance('t3lib_l10n_parser_Llxml');
 $LOCAL_LANG = $object->getParsedData($llFile, $GLOBALS['LANG']->lang);
} else {
 $LOCAL_LANG = t3lib_div::readLLXMLfile($llFile, $GLOBALS['LANG']->lang);
}

Auch Powermail lieferte unter Version 1.6.11 eine ähnliche Fehlermeldung:

Fatal error: Call to undefined method TYPO3\CMS\Core\Utility\GeneralUtility::readLLXMLfile() in xxx/typo3conf/ext/powermail/pi1/class.tx_powermail_pi1_wizicon.php on line 79

Hier lag es aber nicht an der statischen Einbindung, sondern noch an einer Versions-Unverträglichkeit:

$LOCAL_LANG = t3lib_div::readLLXMLfile($llFile, $GLOBALS['LANG']->lang);

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.