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