ext_tables.php
¶
-- optional
ext_
is not always included in the global scope of the
frontend context.
This file is only included when
- a TYPO3 Backend or CLI request is happening
- or the TYPO3 Frontend is called and a valid backend user is authenticated
This file usually gets included later within the request and after TCA information is loaded, and a backend user is authenticated.
Hint
In many cases, the file ext_
is no longer needed,
since TCA
definitions must be placed in files located at
Configuration/TCA/.
Should not be used for¶
- TCA configurations for new tables. They should go in Configuration/TCA/sometable.php.
- TCA overrides of existing tables. They should go in Configuration/TCA/Overrides/somefile.php.
- calling
Extension
as this might break the frontend. They should go in Configuration/TCA/Overrides/somefile.php.Management Utility:: add To Insert Records () - calling
Extension
as this might break the frontend. They should go inManagement Utility:: add Static File () Configuration/
TCA/ Overrides/ sys_ template. php
Should be used for¶
These are the typical functions that should be placed inside ext_
- Registering a scheduler tasks: Registering a scheduler task
- Registration of custom page types
- Extending the Backend user settings
Examples¶
Put the following in a file called ext_
in the main directory
of your extension. The file does not need to be registered but will be loaded
automatically:
<?php
declare(strict_types=1);
use MyVendor\MyExtension\Backend\MyClass;
defined('TYPO3') or die();
// Add your code here
MyClass::doSomething();
Read why the check for the TYPO3 constant is necessary.
Registering a scheduler task¶
Scheduler tasks get registered in ext_
as well. Note that the system extension "scheduler" has
to be installed for this to work.
<?php
declare(strict_types=1);
use TYPO3\CMS\Scheduler\Task\CachingFrameworkGarbageCollectionAdditionalFieldProvider;
use TYPO3\CMS\Scheduler\Task\CachingFrameworkGarbageCollectionTask;
defined('TYPO3') or die();
$lll = 'LLL:EXT:my_extension/Resources/Private/Language/locallang.xlf:';
// Add caching framework garbage collection task
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['scheduler']['tasks']
[CachingFrameworkGarbageCollectionTask::class] = [
'extension' => 'my_extension',
'title' => $lll . 'cachingFrameworkGarbageCollection.name',
'description' => $lll . 'cachingFrameworkGarbageCollection.description',
'additionalFields' =>
CachingFrameworkGarbageCollectionAdditionalFieldProvider::class,
];
Registering a backend module¶
Changed in version 13.0
The method
\use TYPO3\
has been removed. Register modules in
Modules.php.
Allowing a tables records to be added to Standard pages¶
Changed in version 13.0
The method Extension
has been removed. Use the TCA ctrl option
ignorePageTypeRestriction
instead.