Feature: #107712 - Introduce card-based sub module overview
See forge#107712
Description
Backend modules can now display a card-based overview of their submodules
instead of automatically redirecting to the first available submodule. This
new
show configuration option enables a more
user-friendly navigation experience, similar to the Install Tool's maintenance
card layout.
When enabled, clicking on a second-level module displays an overview page with cards for each accessible submodule. Each card shows the module's icon, title, description, and an "Open module" button, allowing users to make an informed choice about which submodule to access.
Example configuration:
return [
'web_info' => [
'parent' => 'web',
'showSubmoduleOverview' => true,
],
'web_info_overview' => [
'parent' => 'web_info',
'access' => 'user',
'path' => '/module/web/info/overview',
'iconIdentifier' => 'module-info',
'labels' => [
'title' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:mod_tx_cms_webinfo_page',
'description' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:mod_tx_cms_webinfo_page.description',
],
// ... routes and other configuration
],
'web_info_translations' => [
'parent' => 'web_info',
'access' => 'user',
'path' => '/module/web/info/translations',
'iconIdentifier' => 'module-info',
'labels' => [
'title' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:mod_tx_cms_webinfo_lang',
'description' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:mod_tx_cms_webinfo_lang.description',
],
// ... routes and other configuration
],
];
In this example, the Web > Info module displays a card-based overview showing both Pagetree Overview and Localization Overview submodules. Users can read the description of each module before deciding which one to open.
The feature works seamlessly with the existing module permission system. Only submodules that the current user has access to are displayed in the overview. If no accessible submodules exist, a helpful information message is shown instead of an empty page.
Implementation Details
The
show option modifies the behavior in several key areas:
- Module Routing - When set to
true, the module's default route targetsSubmoduleinstead of automatically redirecting to the first available submodule.Overview Controller - Middleware Behavior - The
Backendmiddleware skips its automatic submodule redirection logic when this option is enabled, allowing the overview page to be displayed.Module Validator -
Navigation Enhancement - The system provides automatic navigation capabilities:
- The
Submoduledisplays the submodule jump menu, allowing quick access to all available submodulesOverview Controller - When
showis activated, theSubmodule Overview Moduleautomatically adds a "Module Overview" menu item to the submodule dropdownTemplate - This allows users to easily navigate back to the overview from any submodule, especially useful when a submodule does not manually provide a "go back" button
- The
To provide meaningful descriptions on the overview cards, modules should define
a
description or
short in their labels configuration.
These are displayed in the card body to help users understand each submodule's
purpose.
Impact
Backend navigation becomes more intuitive and self-documenting. Container
modules using
show provide users with a clear overview
of available functionality, eliminating the confusion of being automatically
redirected to an arbitrary first submodule.
The Web > Info module now uses this feature to present its submodules in an accessible, visually organized manner. Users can quickly understand what each submodule offers before navigating to it, improving discoverability and user experience in the TYPO3 backend.