Mehrere Presets für CKeditor verwenden
Um für ein Inputfeld ein von der Standardvorlage abweichendes RTE Preset zu verwenden, muss man wie folgt vorgehen:
Zunächst wird das Preset als .yaml Datei im Verzeichnis Configuration/RTE/
angelegt (in diesem Beispiel Custom.yaml). Hier kann als Vorlage zunächst die Default.yaml kopiert werden.
In ext_localconf.php wird nun eine Bezeichnung für das neue Preset definiert:
$GLOBALS['TYPO3_CONF_VARS']['RTE']['Presets']['custom'] = 'EXT:vendor_namespace/Configuration/RTE/Custom.yaml';
Um dieses Preset per TCA einem Inputfeld zuweisen zu können, muss in der RTE.tsconfig unter Configuration/TsConfig/Page/
die eben gewählte Bezeichnung einem im TCA verfügbaren Wert zugeordnet werden:
RTE {
custom {
preset = custom
}
}
Sollte hier die Standardvorlage per default gesetzt sein, muss diese zwingend entfernet werden, da zusätzlich angelegte Presets sonst ignoriert werden.
Die Standardvorlage muss dann stattdessen ebenfalls über die ext_localconf.php gesetzt werden:
$GLOBALS['TYPO3_CONF_VARS']['RTE']['Presets']['default'] = 'EXT:vendor_namespace/Configuration/RTE/Default.yaml'
Zuletzt muss dem Inputfeld im Bereich config das eben definierte Preset zugewiesen werden:
'config' => [
'richtextConfiguration' => 'custom'
],
Das neue Preset kann jetzt nach Belieben bearbeitet werden, eine Liste der konfigurierbaren Optionen findet man hier: https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html