TYPO3 Überschrift als RTE formatieren

Manchmal muss man auch Überschriften mit dem RTE formatieren können – Text fett oder kursiv auszeichnen z.B.

Dazu erstmal das TCA des Header-Felder auf Textarea mit RTE umstellen. Dieser Code wird in die Datei my_extension/Configuation/TCA/Overrides/tt_content.php eingefügt.

$GLOBALS['TCA']['tt_content']['columns']['header']['config']['type'] = 'text';
$GLOBALS['TCA']['tt_content']['columns']['header']['config']['cols'] = 40;
$GLOBALS['TCA']['tt_content']['columns']['header']['config']['rows'] = 3;
$GLOBALS['TCA']['tt_content']['columns']['header']['defaultExtras'] = 'richtext[]';
$GLOBALS['TCA']['tt_content']['palettes']['header'] = str_replace(
    'header;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:header_formlabel,',
    'header;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:header_formlabel;;richtext:rte_transform[mode=ts_css],',
    $GLOBALS['TCA']['tt_content']['palettes']['header']
);
 
$GLOBALS['TCA']['tt_content']['palettes']['headers'] = str_replace(
    'header;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:header_formlabel,',
    'header;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:header_formlabel;;richtext:rte_transform[mode=ts_css],',
    $GLOBALS['TCA']['tt_content']['palettes']['headers']
);

Damit wird der Header zu einem „normalen“ RTE Feld mit Standard-Konfiguration. Wenn das zu viel ist (und das nehme ich an), kann für das Header-Feld eine spezielle RTE-Konfiguration angelegt werden. Das muss ins PageTsConfig:

RTE.config.tt_content.header {
	showButtons (
		bold, italic, chMode
	)
	RTEHeightOverride = 100
}

Dann muss man nur dafür sorgen, dass die Formatierung auch ausgegeben wird. Falls man mit Fluid Styled Content arbeitet (absolut empfehlenswert), dann muss man im Partial Header/Header.html nur folgende Änderung vornehmen:

<h1><f:link.typolink parameter="{link}"><f:format.raw>{header}</f:format.raw></f:link.typolink></h1>

Kommentare sind geschlossen.