.. include:: /Includes.rst.txt .. _custom-reports-more: .. _custom-reports: ============================ Custom reports registration ============================ The only report provided by the TYPO3 core is the one called :guilabel:`Status`. The status report itself is extendable and shows status messages like a system environment check and the status of the installed extensions. Reports and status are automatically registered through the service configuration, based on the implemented interface. .. _register-custom-report: Register a custom report ======================== Create a custom submodule extending the reports module. .. code-block:: php [ 'parent' => 'system_reports', 'access' => 'admin', 'path' => '/module/system/reports/myreport', 'iconIdentifier' => 'my-report-icon', 'labels' => [ 'title' => 'LLL:EXT:my_extension/Resources/Private/Language/locallang.xlf:myreport.title', 'description' => 'LLL:EXT:my_extension/Resources/Private/Language/locallang.xlf:myreport.description', ], 'routes' => [ '_default' => [ 'target' => \Vendor\MyExtension\Controller\MyReportController::class . '::handleRequest', ], ], ], ]; Implement the logic into your class: .. code-block:: php moduleTemplateFactory->create($request); $view->makeDocHeaderModuleMenu(); $view->assign('data', $this->collectReportData()); return $view->renderResponse('MyReport'); } } Use a template like below: .. code-block:: html

My report

Report it!

.. _register-custom-status: Register a custom status ======================== All status providers must implement :php:interface:`TYPO3\\CMS\\Reports\\StatusProviderInterface`. If :yaml:`autoconfigure` is enabled in :file:`Services.yaml`, the status providers implementing this interface will be automatically registered. .. include:: /CodeSnippets/Manual/Autoconfigure.rst.txt Alternatively, one can manually tag a custom report with the :yaml:`reports.status` tag: