ext_tables.php (Deprecated)
Deprecated since version 14.3
Using the ext_ file in extensions is deprecated.
ext_tables.php
-
- Scope
- extension
- Path (Composer)
- packages/my_extension/ext_tables.php
- Path (Classic)
- typo3conf/ext/my_extension/ext_tables.php
This file is deprecated. It was historically used to register backend modules, page doktypes, user settings, and other runtime configuration. All of these use cases now have dedicated alternatives in modern TYPO3.
Migration: move registrations from ext_tables.php
Move all registrations from ext_tables.php to the appropriate
configuration files.
User settings previously registered via
Extension in
ext_tables.php should now be added via
Extension in
Configuration/TCA/Overrides/be_users.php.
Before:
<?php
use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
$GLOBALS['TYPO3_USER_SETTINGS']['columns']['myCustomSetting'] = [
'type' => 'check',
'label' => 'my_ext.messages:myCustomSetting',
];
ExtensionManagementUtility::addFieldsToUserSettings(
'myCustomSetting',
'after:emailMeAtLogin',
);
After:
<?php
use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
ExtensionManagementUtility::addUserSetting(
'myCustomSetting',
[
'label' => 'my_ext.messages:myCustomSetting',
'config' => [
'type' => 'check',
'renderType' => 'checkboxToggle',
],
],
'after:emailMeAtLogin',
);
Page doktypes previously registered via
Page in
ext_tables.php should now use the TCA option
allowed in Configuration/TCA/Overrides/pages.php.
See also
Before:
<?php
use TYPO3\CMS\Core\DataHandling\PageDoktypeRegistry;
use TYPO3\CMS\Core\Utility\GeneralUtility;
GeneralUtility::makeInstance(PageDoktypeRegistry::class)->add(116, [
'allowedTables' => ['tt_content', 'my_custom_record'],
]);
After:
<?php
$GLOBALS['TCA']['pages']['types']['116']['allowedRecordTypes'] = [
'tt_content',
'my_custom_record',
];
Once all registrations have been moved and TYPO3 V13 support is dropped, the
ext_tables.php file can be removed from the extension.