Published on

TYPO3: Extending the configuration module

Authors

TYPO3’s Configuration module can be extended to display custom information or provide quick access to configuration relevant to your extension (e.g., parsed TypoScript, feature flags, or environment details).

Use case examples

  • Show effective TypoScript/TSConfig fragments for your extension
  • Expose feature toggles and their current values
  • Provide links to related admin modules and docs

Register a module section

Configuration/Backend/Modules.php (TYPO3 v10+):

<?php
return [
  'tools_myext' => [
    'parent' => 'system',
    'access' => 'admin',
    'workspaces' => 'live',
    'path' => '/module/system/myext',
    'labels' => 'LLL:EXT:my_ext/Resources/Private/Language/locallang_mod.xlf',
    'iconIdentifier' => 'myext-module',
    'controllerActions' => [
      \Vendor\MyExt\Controller\ConfigController::class => ['index'],
    ],
  ],
];

Controller showing config

final class ConfigController extends \TYPO3\CMS\Extbase\Mvc\Controller\ActionController
{
    public function __construct(
        private readonly \TYPO3\CMS\Core\Configuration\ConfigurationManager $config,
    ) {}

    public function indexAction(): void
    {
        $settings = [
            'featureFlags' => $this->config->get('FEATURES'),
            'env' => getenv('APP_CONTEXT') ?: 'Production',
        ];
        $this->view->assign('settings', $settings);
    }
}

Fluid template

<f:section name="Main">
  <h2>Extension configuration</h2>
  <pre>{settings -> f:format.print_r()}</pre>
</f:section>

Tips

  • Keep module access limited to admins; avoid leaking sensitive data
  • Cache expensive reads or use on-demand actions
  • Provide deep links to other system modules to speed up operations