---
title: "Backend module configuration examples"
manual: "TYPO3 Explained"
version: "13.4"
permalink: "https://docs.typo3.org/permalink/t3coreapi:backend-modules-configuration-examples@13.4"
source: "ExtensionArchitecture/HowTo/BackendModule/ModuleConfiguration.rst"
rendered: "2026-09-20T16:02:56+00:00"
---

# Backend module configuration examples {#backend-modules-configuration-examples}

The configuration of backend modules is placed in the
dedicated configuration file: [`Configuration/Backend/Modules.php`](../../FileStructure/Configuration/Backend/Index.md#file-extension-configuration-backend-modules-php).

See also the [Backend module configuration API](https://docs.typo3.org/permalink/t3coreapi:backend-modules-configuration@13.4).

Read more about

## Example: register two backend modules {#backend-modules-configuration-examples-example-register-two}

You can find the following example in
[EXT:examples](https://github.com/TYPO3-Documentation/t3docs-examples).

Two backend modules are being registered. The first module is based on
[Extbase](https://docs.typo3.org/permalink/t3coreapi:extbase@13.4) while the second uses a plain controller.

**EXT:examples/Configuration/Backend/Modules.php**

```php
<?php

/*
 * This file is part of the TYPO3 CMS project.
 *
 * It is free software; you can redistribute it and/or modify it under
 * the terms of the GNU General Public License, either version 2
 * of the License, or any later version.
 *
 * For the full copyright and license information, please read the
 * LICENSE.txt file that was distributed with this source code.
 *
 * The TYPO3 project - inspiring people to share!
 */

use T3docs\Examples\Controller\AdminModuleController;
use T3docs\Examples\Controller\ModuleController;

/**
 * Definitions for modules provided by EXT:examples
 */
return [
  'web_examples' => [
    'parent' => 'web',
    'position' => ['after' => 'web_info'],
    'access' => 'user',
    'workspaces' => 'live',
    'path' => '/module/page/example',
    'labels' => 'LLL:EXT:examples/Resources/Private/Language/Module/locallang_mod.xlf',
    'extensionName' => 'Examples',
    'iconIdentifier' => 'tx_examples-backend-module',
    'controllerActions' => [
      ModuleController::class => [
        'flash', 'tree', 'clipboard', 'links', 'fileReference', 'fileReferenceCreate', 'count',
      ],
    ],
  ],
  'admin_examples' => [
    'parent' => 'system',
    'position' => ['top'],
    'access' => 'admin',
    'workspaces' => 'live',
    'path' => '/module/system/example',
    'labels' => 'LLL:EXT:examples/Resources/Private/Language/AdminModule/locallang_mod.xlf',
    'iconIdentifier' => 'tx_examples-backend-module',
    'routes' => [
      '_default' => [
        'target' => AdminModuleController::class . '::handleRequest',
      ],
    ],
  ],
];

```

## Check if the modules have been properly registered {#backend-modules-configuration-example-debug}

All registered modules are stored as objects in a registry. They can be viewed
in the backend in the **System > Configuration > Backend Modules**
module.

![](../../../Images/ManualScreenshots/Backend/BackendModulesConfiguration.png)

The [ModuleProvider](https://docs.typo3.org/permalink/t3coreapi:backend-module-provider-api@13.4) API allows extension
authors to work with the registered modules.
