Attention
TYPO3 v12 has reached end-of-life as of April 30th 2026 and is no longer being maintained. Use the version switcher on the top left of this page to select documentation for a supported version of TYPO3.
Need more time before upgrading? You can purchase Extended Long Term Support (ELTS) for TYPO3 v12 here: TYPO3 ELTS.
DocHeaderComponent
The
\TYPO3\ can be
used to display a standardized header section in a backend module with buttons,
menus etc. It can also be used to hide the header section in case it is
not desired to display it.
The module header displayed by the DocHeaderComponent
You can get the
Doc with
\TYPO3\CMS\Backend\Template\ModuleTemplate::getDocHeaderComponent
from your module template.
Table of contents
DocHeaderComponent API
It has the following methods:
Example: Build a module header with buttons and a menu
The following example is extracted from the example Extbase extension EXT:blog_example. See the complete source code at t3doc/blog-example (GitHub).
We use the DocHeaderComponent to register buttons and a menu to the module header.
use Psr\Http\Message\ServerRequestInterface;
use TYPO3\CMS\Backend\Template\ModuleTemplate;
use TYPO3\CMS\Backend\Utility\BackendUtility;
use TYPO3\CMS\Core\Type\Bitmask\Permission;
class BackendController extends ActionController
{
private function modifyDocHeaderComponent(ModuleTemplate $view): void
{
$context = '';
$menu = $this->buildMenu($view, $context);
$buttonBar = $view->getDocHeaderComponent()->getButtonBar();
$this->addPopulateButton($buttonBar);
$this->addShortCutButton($buttonBar);
$this->addReloadButton($buttonBar);
$view->getDocHeaderComponent()->getMenuRegistry()->addMenu($menu);
$view->setTitle(
$this->getLanguageService()->sL('LLL:EXT:blog_example/Resources/Private/Language/Module/locallang_mod.xlf:mlang_tabs_tab'),
$context,
);
$permissionClause = $GLOBALS['BE_USER']->getPagePermsClause(Permission::PAGE_SHOW);
$pageRecord = BackendUtility::readPageAccess(
$this->pageUid,
$permissionClause,
);
if ($pageRecord) {
$view->getDocHeaderComponent()->setMetaInformation($pageRecord);
}
}
protected function initializeModuleTemplate(
ServerRequestInterface $request,
): ModuleTemplate {
$view = $this->moduleTemplateFactory->create($request);
$this->modifyDocHeaderComponent($view);
$view->setFlashMessageQueue($this->getFlashMessageQueue());
return $view;
}
}