Third-level modules / module functions

Changed in version 12.0

Previously, module functions could be added to modules such as Web > Info or Web > Template via the now removed global TBE_MODULES_EXT array.

These are now registered as third-level modules with the backend module configuration API.

Third-level modules are registered in the extension's Configuration/Backend/Modules.php file, the same way as top-level and common modules.

This allows administrators to define access permissions via the module access logic for those modules individually. It also allows to influence the position of the third-level module.


Registration of an additional third-level module for the Web > Template module in the Configuration/Backend/Modules.php file of an extension:

'web_ts_customts' => [
    'parent' => 'web_ts',
    'access' => 'user',
    'path' => '/module/web/typoscript/custom-ts',
    'iconIdentifier' => 'module-custom-ts',
    'labels' => [
        'title' => 'LLL:EXT:extkey/Resources/Private/Language/locallang.xlf:mod_title',
    'routes' => [
        '_default' => [
            'target' => CustomTsController::class . '::handleRequest',
    'moduleData' => [
        'someOption' => false,