Zum Inhalt springen

Problem mit ext_tables in einer Extension nach Update von 8.7.24 auf 9.5.19

Erstellt am 4. Juli 2020 · 4 Antworten · letzte Antwort am 7. Juli 2020

Tags: PHP, Update & Upgrade, TYPO3 9, Frage

Mingalaba ·

Hallo Forum,
bin Anfänger mit Typo 3 und habe eine Seite übernommen, hier ist eine eigene Extension installiert die nach dem Update jetzt nicht mehr richtig funktioniert. Das Update von 8.7.24 auf 9.5.19 hat funktionert und die Seite läuft auch. Wenn ich die Extension einschalte kommen Fehlermeldungen.

1. Meldung
all to undefined method TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath()
in .../typo3conf/ext/ww_immobilien/ext_tables.php line 12

\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath($extKey) . 'ext_icon.gif'

2. Fehler
at TYPO3\CMS\Core\Utility\ExtensionManagementUtility::{closure}('ww_immobilien')
in ... /typo3conf/ext/ww_immobilien/ext_tables.php line 33

$_EXTKEY

3. Fehler
at require('.../typo3conf/ext/ww_immobilien/ext_tables.php')
in .../typo3_src-9.5.19/typo3/sysext/core/Classes/Utility/ExtensionManagementUtility.php line 1831

require $extTablesPath;

und so weiter.

Hat jemand eine Idee? Kann leider den damaligen Entwickler nicht mehr fragen.
Im Netz habe ich nur gefunden das man die ext_tables.php mittlerweile anders anlegt, aber nicht so wirklich wie.

Viele Grüße
Tanja

Julian.​Hofmann ·

Hallo Tanja.

Deine Suche im Netz war wohl nicht ganz optimal ;-)

TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath() galt seit TYPO3 8.4 als veraltet und wurde in v9 dann auch aus dem TYPO3-Core entfernt. Details (incl. Migration):
https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/8.4/Deprecation-78193-ExtensionManagementUtilityextRelPath.html

Der andere Punkt stimmt auch: vieles (genauer: tabellenbezogenes), was früher in der ext_tables.php stand, steht jetzt unter Configuration/TCA/Overrides/<tablename>.php, und der Inhalt der ext_tables.php wird im Frontendignoriert.

Breaking: #78384 - Frontend ignores TCA in ext_tables.php:
https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/8.5/Breaking-78384-FrontendIgnoresTCAInExtTables.html

Important: #82692 - Guidelines for ext_localconf.php and ext_tables.php:
https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/9.0/Important-82692-GuidelinesForExtensionFiles.html

Hoffe, ich konnte Dir erstmal weiterhelfen. Wenn noch Fragen sind, einfach nochmal melden.

Viele Grüße aus Würzburg und einen schönen Start in die neue Woche
Julian

Mingalaba ·

Hallo Julian,
vielen Dank für die Info, ja wenn man nicht weiß was man eigentlich suchen soll :-)

Habe jetzt mal versucht die Stellen auszuwechseln.
Alt: ExtensionManagementUtility::extRelPath()
Neu: ExtensionManagementUtility::extPath()

Es tut sich aber nicht wirklich was.
Bin im Typo 3 Anfänger und habe es jetzt etwas schwer.
Muss ich die Stellen raus löschen, oder ändern, oder kommt der Code an anderer Stelle rein.
Es ist eine ganze Reihe an Fehlermeldungen.

Viele Grüße
Tanja

Julian.​Hofmann ·

Oh, beim ersten Mal übersehen, dass die erste Fehlermeldung das Extension-Icon betrifft. Das löst sich ganz einfach: schmeiß die Zeile ganz aus der ext_tables.php raus. Nimm dann das ext_icon.gif und verschiebe es nach Resources/Public/Icons/Extension.gif - dort wird es von TYPO3 inzwischen automatisch gesucht, ohne dass Du in PHP-Dateien etwas angeben musst.

Und, ja, etwas angestaubte Extension werfen in neueren TYPO3-Versionen immer mehr Fehler. TYPO3 modernisiert sich, säubert sich - und schmeißt dadurch auch immer wieder mal Dinge über Board. Normalerweise findet sich in den Changelogs aber viel Info dazu (wenn man halbwegs die richtigen (englischen) Begriffe sucht).

Mingalaba ·

Hi Julian,
so ich taste mich vor - habe jetzt die tt_content.php Datei angelegt und die Einstellungen aus der ext_tables.php gelöscht.
Jetzt wird das Backend ohne Fehler angezeigt.

Bekomme aber die Fehlermeldung
TYPO3Fluid\Fluid\Core\ViewHelper\Exception

No Content Object definition found at TypoScript object path "tt_content.list.20."

in ... /typo3_src-9.5.19/typo3/sysext/fluid/Classes/ViewHelpers/CObjectViewHelper.php line 161

}
$setup = $setup[$segment . '.'];
}
if (!isset($setup[$lastSegment])) {
throw new \TYPO3Fluid\Fluid\Core\ViewHelper\Exception(
'No Content Object definition found at TypoScript object path "' . $typoscriptObjectPath . '"',
1540246570
);
}

Habe ich noch etwas vergessen oder falsch angelegt.

Viele Grüße
Tanja