Bug #104737
openCheck for Broken Extensions shows "Loading ext_tables.php of extension "xyz" failed"
0%
Description
Calling GeneralUtility::makeInstance
in the file `ext_tables.php` of a custom extension results in the installation tool displaying, that the file `ext_tables.php` cannot be loaded.
Nevertheless, the extension appears to be working normally.
Own DokTypes should be registered in `ext_tables.php` with the following call:
$dokTypeRegistry = GeneralUtility::makeInstance(PageDoktypeRegistry::class);
I couldn't see the behavior in v13.1 yet. I'm currently running v13.2.1.
Files
Updated by Markus Ehrlich 3 months ago
Updated by Benjamin Franzke 3 months ago
- Assignee set to Oliver Bartsch
quick investigation:
This is likely caused by https://review.typo3.org/c/Packages/TYPO3.CMS/+/84945
Since that change PageDoktypeRegistry
became a service that requires DI.
I would have said, that the ext_tables.php check needs to use LateBootService and boot a container, but it should already do that in typo3/sysext/install/Classes/Service/LoadTcaService.php – so I don't know the exact reason right now.
Needs to be checked manually…
Updated by Benjamin Franzke 3 months ago
- Status changed from New to Needs Feedback
- Assignee deleted (
Oliver Bartsch)
Please share the exact contents of the ext_tables.php
files.
Could not verify with v13.2.1 having a ext_tables.php
with:
<?php use TYPO3\CMS\Core\DataHandling\PageDoktypeRegistry; use TYPO3\CMS\Core\Utility\GeneralUtility; $dokTypeRegistry = GeneralUtility::makeInstance(PageDoktypeRegistry::class);
Updated by Markus Ehrlich 3 months ago
- Assignee set to Benjamin Franzke
Here is content of my ext_tables.php file:
<?php declare(strict_types=1); use TYPO3\CMS\Core\DataHandling\PageDoktypeRegistry; use TYPO3\CMS\Core\Utility\GeneralUtility; defined('TYPO3') or die(); (function () { /** * Register doktype 110 for article pages */ $articlePageDoktype = 110; $dokTypeRegistry = GeneralUtility::makeInstance(PageDoktypeRegistry::class); $dokTypeRegistry->add( $articlePageDoktype, [ 'type' => 'web', 'allowedTables' => '*', ], ); })();
Updated by Garvin Hicking 3 months ago
Hi Markus,
hm I used your exact file and it works in my environment. Are you able to test this with a GIT "main" version?
Updated by Benni Mack about 1 month ago
- Target version changed from 13.3 to Candidate for Major Version