[Frage] Backendlokalisierung mit t3lib_l10n_parser_Llxml [Gelöst] TYPO3-Version: 7.6.9

  • Chrissli Chrissli
    Jedi-General
    0 x
    1015 Beiträge
    28 Hilfreiche Beiträge
    23. 03. 2017, 12:13

    Hallo zusammen,

    eventuell kann mir hier jemand weiterhelfen, Google findet hier leider nichts passendes.

    Ich setze auf einer Seite die Extension pit_googlemaps ein.
    Da die Seite jetzt von 6.2 auf 7.6 migriert wird gibt es leider das eine oder andere Problem, so auch mit besagter Extension, leider wird diese nur mangelhaft gepflegt.
    Hier gibt es in der wizicon.php einen Teil der nicht mehr funktioniert und auch nicht funktionierbar werden will:

    1. llFile = \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('pit_googlemaps').'locallang.xml';
    2. if (class_exists('t3lib_l10n_parser_Llxml')) {
    3. $object = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('t3lib_l10n_parser_Llxml');
    4. $LOCAL_LANG = $object->getParsedData($llFile, $GLOBALS['LANG']->lang);
    5. }
    6. else {
    7. $LOCAL_LANG = \TYPO3\CMS\Core\Utility\GeneralUtility::readLLXMLfile($llFile, $GLOBALS['LANG']->lang);
    8. }

    Anscheinend ist die Klasse "t3lib_l10n_parser_Llxml" nicht bekannt und kann nicht instantiiert werden, so dass immer der statische Aufruf mir readLLXMLfile verwendet wird.
    Die aktuelleren Googletreffer besagen aber, dass t3lib_l10n_parser_Llxml aktueller ist und verwendet werden soll, zumindest ab Typo3 v6.
    Ist das noch aktuell bzw. wie müsste ich der Teil für aktuelle Typo3-Versionen aussehen?

    Danke schon einmal im Voraus,

    Chris

    God's in his heaven, all's right with the world

  • toifel toifel
    Jedi-Ratsmitglied
    0 x
    831 Beiträge
    96 Hilfreiche Beiträge
    23. 03. 2017, 13:44 - Lösung

    t3lib wurde in 7.6 komplett entfernt, die Klasse liegt jetzt unter \TYPO3\CMS\Core\Localization\Parser\LocallangXmlParser.

    Hier gibts eine gute Übersicht aller Klassen, die seit 7.x rausgeflogen sind:
    https://github.com/FriendsOfTYPO3/compatibility6/blob/master/Migrations/Code/ClassAliasMap.php


  • 1
  • toifel toifel
    Jedi-Ratsmitglied
    0 x
    831 Beiträge
    96 Hilfreiche Beiträge
    23. 03. 2017, 13:44

    t3lib wurde in 7.6 komplett entfernt, die Klasse liegt jetzt unter \TYPO3\CMS\Core\Localization\Parser\LocallangXmlParser.

    Hier gibts eine gute Übersicht aller Klassen, die seit 7.x rausgeflogen sind:
    https://github.com/FriendsOfTYPO3/compatibility6/blob/master/Migrations/Code/ClassAliasMap.php

  • Chrissli Chrissli
    Jedi-General
    0 x
    1015 Beiträge
    28 Hilfreiche Beiträge
    23. 03. 2017, 15:19

    Prima, vielen vielen Dank!
    Sieht schon besser aus. Noch nicht gut, aber besser.
    Eine einzige Baustelle das Ding :P

    Just for the Record:

    1. function includeLocalLang() {
    2. try {
    3. $llFile = \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('pit_googlemaps').'locallang.xml';
    4. if (class_exists('t3lib_l10n_parser_Llxml')) {
    5. $object = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('t3lib_l10n_parser_Llxml');
    6. $LOCAL_LANG = $object->getParsedData($llFile, $GLOBALS['LANG']->lang);
    7. } else if (class_exists('TYPO3\\CMS\\Core\\Localization\\Parser\\LocallangXmlParser')) {
    8. $object = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Localization\\Parser\\LocallangXmlParser');
    9. $LOCAL_LANG = $object->getParsedData($llFile, $GLOBALS['LANG']->lang);
    10. } else {
    11. $LOCAL_LANG = \TYPO3\CMS\Core\Utility\GeneralUtility::readLLXMLfile($llFile, $GLOBALS['LANG']->lang);
    12. }
    13. } catch (Exception $e) {
    14. $LOCAL_LANG = \TYPO3\CMS\Core\Utility\GeneralUtility::readLLfile(\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('pit_googlemaps') . 'locallang.xml', $GLOBALS['LANG']->lang);
    15. }
    16. return $LOCAL_LANG;
    17. }

    God's in his heaven, all's right with the world

  • 1