CKEditor 5 bietet eine klare Benutzeroberfläche, flüssige Leistung und die richtige Balance zwischen Einfachheit und nützlichen Funktionen. Redakteure können sich auf das Schreiben konzentrieren, während Entwickler die Bearbeitungsumgebung durch ein modulares und konfigurierbares Setup an die Projektbedürfnisse anpassen können.
Neugierig? Lies weiter…
Was ist CKEditor?
CKEditor ist ein WYSIWYG RTE (Rich Text Editor), der die direkte Integration von JavaScript-basiertem Code in Online-Anwendungen oder Webseiten ermöglicht. Er kann unter kommerziellen und Open-Source-Lizenzen erworben werden.
In den aktuellen TYPO3 Versionen stellt die Systemerweiterung rte_ckeditor CKEditor 5 als Standardlösung für die Bearbeitung von Rich-Text zur Verfügung. Er ersetzt den älteren rtehtmlarea-Editor, der aus modernen TYPO3-Versionen entfernt wurde.
CKEditor 5 basiert auf einer modularen, plugin-gesteuerten Architektur. Jede Funktion, von der grundlegenden Textformatierung über Tabellen, Links bis hin zu Medienwerkzeugen, wird durch Plugins gehandhabt, die Entwickler aktivieren, deaktivieren oder erweitern können.

YAML - Das Konfigurations Dateiformat
TYPO3 verwendet YAML-Dateien, um CKEditor zu konfigurieren, da YAML einfach, lesbar und gut strukturiert ist. Es ist für Entwickler leicht, nur die Teile zu überschreiben oder zu erweitern, die sie benötigen, ohne alles von Grund auf neu zu schreiben.
Eine typische CKEditor-Konfiguration in TYPO3 ist in kleinere YAML-Dateien unterteilt. Jede Datei konzentriert sich auf einen bestimmten Bereich der Konfiguration:
- Verarbeitungsregeln – wie TYPO3 HTML filtert, bereinigt und speichert
- Basiseinstellungen des Editors – Toolbar, Formatierungsoptionen, Verhalten
- Plugins – Funktionsladen und benutzerdefinierte Erweiterungen
YAML basiert stark auf Einrückungen und einer Schlüssel-Wert-Struktur, was es sowohl benutzerfreundlich als auch leicht versionierbar macht. TYPO3 verwaltet die modulare Konfiguration mithilfe des Schlüsselworts imports:, sodass Sie die Kerneinstellungen wiederverwenden und sicher erweitern können.
Grundlegende YAML-Struktur in TYPO3
# File: EXT:site_package/Configuration/RTE/Custom.yaml
imports:
- { resource: "EXT:rte_ckeditor/Configuration/RTE/Processing.yaml" }
- { resource: "EXT:rte_ckeditor/Configuration/RTE/Editor/Base.yaml" }
- { resource:
"EXT:rte_ckeditor/Configuration/RTE/Editor/Plugins.yaml" }
editor:
config:
toolbar:
- [ 'bold', 'italic', 'underline' ]
- [ 'link', 'unlink' ]
- '/'
- [ 'numberedList', 'bulletedList' ]
stylesSet:
- { name: "Highlight", element: "span", attributes: { class:
"highlight" } }
Registrieren Ihres YAML-Presets in TYPO3
// ext_localconf.php
$GLOBALS['TYPO3_CONF_VARS']['RTE']['Presets']['custom'] =
'EXT:site_package/Configuration/RTE/Custom.yaml';
TYPO3 lädt und kombiniert diese YAML-Dateien automatisch, sodass CKEditor vollständig die Kontrolle darüber hat, wie er sich verhält.
Standard-Presets im CKEditor von TYPO3
TYPO3 stellt in der Regel drei häufig genutzte Presets zur Verfügung:
- Minimal: Sehr einfache Konfiguration mit grundlegenden Formatierungswerkzeugen. Geeignet für einfache Eingabeformen, wie Titel oder Teaser.
- Standard: Der Standard-Editor, der in den meisten TYPO3 Installationen verwendet wird. Die ausgewogene Toolbar, gängige Formatierungsoptionen und saubere Filterregeln.
- Vollständig: Ein funktionsreicheres Preset mit erweiterten Formatierungen und zusätzlichen Werkzeugen. Wird häufig für inhaltsreiche Felder verwendet.
Diese Presets beeinflussen wichtige Bereiche des Editors:
- Toolbar-Layout
- Formatierungswerkzeuge und Block-Elemente
- Erlaubte Tags und Attribute
- Content-Filterung
- Plugin-Verfügbarkeit
Diese Presets dienen als Ausgangspunkt. Ab hier erweitern oder ersetzen Entwickler sie oft mit ihren eigenen benutzerdefinierten YAML-Presets, um den Anforderungen des Projekts gerecht zu werden.
Was Machen Diese Presets?
Presets im CKEditor von TYPO3 definieren, wie der Editor aussieht und sich verhält. Sie steuern, welche Werkzeuge verfügbar sind, wie Inhalte gefiltert werden und welche Plugins geladen werden. Kurz gesagt, ein Preset legt die Regeln und Funktionen für die Redakteure fest.
Konfigurieren von CKEditor-Presets in TYPO3

TYPO3 ermöglicht es, CKEditor-Presets global oder für spezifische Felder festzulegen, um das Bearbeitungserlebnis vollständig anzupassen.
Weisen Sie ein Preset global zu
RTE.default.preset = default
Dies gilt für alle Rich-Text-Felder im TYPO3 Backend.
Weisen Sie ein Preset einem bestimmten Inhaltselement zu
RTE.tt_content.types.textmedia.bodytext.preset = minimal
Das bedeutet, dass die Toolbars und Funktionen nur für diesen Inhaltstyp angezeigt werden, wenn der Inhaltstyp die angegebene Toolbar und Funktionen hat.
Weisen Sie ein Preset einem Erweiterungsfeld zu
RTE.config.tx_news_domain_model_news.bodytext.preset = full
Dieser Prozess stellt sicher, dass Redakteure die notwendigen Werkzeuge für ihre Arbeit haben und Entwickler eine saubere und übersichtliche Konfiguration besitzen.
Erstellen einer benutzerdefinierten CKEditor-Konfiguration (Moderne Vorgehensweise)

In einer benutzerdefinierten Konfiguration können Sie die Toolbar, Stile, Plugins, Inhaltsregeln und moderne Funktionen wie Drag-and-Drop-Medienverwaltung ändern.
Schritt 1: Definieren Sie Ihre YAML-Datei
Erstellen Sie eine YAML-Datei innerhalb Ihres Site-Pakets oder Ihrer Erweiterung:
# EXT:site_package/Configuration/RTE/Custom.yaml
imports:
- { resource: "EXT:rte_ckeditor/Configuration/RTE/Processing.yaml" }
- { resource: "EXT:rte_ckeditor/Configuration/RTE/Editor/Base.yaml" }
- { resource:
"EXT:rte_ckeditor/Configuration/RTE/Editor/Plugins.yaml" }
editor:
config:
toolbar:
- [ 'bold', 'italic', 'underline' ]
- [ 'link', 'unlink', 'anchor' ]
- '/'
- [ 'numberedList', 'bulletedList', 'indent', 'outdent' ]
stylesSet:
- { name: "Highlight", element: "span", attributes: { class:
"highlight" } }
Schritt 2: Registrieren Sie das Preset in TYPO3
Füge dies hinzu zu ext_localconf.php:
$GLOBALS['TYPO3_CONF_VARS']['RTE']['Presets']['custom'] =
'EXT:site_package/Configuration/RTE/Custom.yaml';
Schritt 3: Weisen Sie das benutzerdefinierte Preset zu
RTE.default.preset = custom
Struktur einer TYPO3 RTE YAML-Preset-Datei
Das YAML-Preset für TYPO3 CKEditor ist in der Regel in drei Teile unterteilt:
1. Verarbeitungsregeln – Verstehen, wie Inhalte vor dem Speichern bereinigt und gefiltert werden.
imports:
- { resource: "EXT:rte_ckeditor/Configuration/RTE/Processing.yaml" }
2. Basiseinstellungen des Editors – Steuern des Toolbar-Layouts, des Schriftstyps und des Standardstils.
editor:
config:
format_tags: "p;h1;h2;h3;pre"
toolbarGroups:
- { name: styles, groups: [ styles, format ] }
3. Plugins und Funktionen – Neue Werkzeuge hinzufügen oder entfernen, erlaubtes HTML konfigurieren und zusätzliche Plugins laden.
editor:
config:
extraPlugins:
- justify
removeButtons:
- Anchor
- Underline
Hinweis: CKEditor 5 ist modularer als CKEditor 4, wodurch YAML-Konfigurationen sauberer, leichter zu verwalten und flexibler für moderne TYPO3-Projekte werden.
Verwalten moderner CKEditor-Optionen in TYPO3

TYPO3 bietet eine sehr starke Kontrolle über CKEditor-Funktionen, Toolbar, Stile und Plugins, um Ihr Bearbeitungserlebnis zu personalisieren.
Formatierungsoptionen
Definieren Sie, welche HTML-Elemente Redakteure verwenden können:
editor:
config:
format_tags: “p;h1;h2;h3;pre;div”
Toolbar-Anpassung
Gruppieren Sie Tasten logisch und vereinfachen Sie die Benutzeroberfläche:
editor:
config:
toolbarGroups:
- { name: clipboard, groups: [ clipboard, undo ] }
- "/"
- { name: styles }
Benutzerdefinierte Stile
Fügen Sie CSS-Klassen für spezifische Formatierungsbedürfnisse hinzu:
editor:
config:
stylesSet:
- { name: "Quote", element: "p", attributes: { class:
"quote-style" } }
- { name: "Button", element: "a", attributes: { class: "btn" } }
Plugin-Verwaltung
Aktivieren oder deaktivieren Sie Funktionen nach Bedarf:
editor:
config:
extraPlugins:
- justify
removePlugins:
- image
removeButtons:
- Anchor
- Underline
- Strike
CSS-Integration
Verwenden Sie contentsCss, um Backend-Stile anzuwenden, die mit dem Frontend übereinstimmen, um eine genaue Vorschau zu erhalten.
Durch die sorgfältige Verwaltung dieser Optionen können Sie einen Editor erstellen, der einfach für Redakteure zu verwenden ist, aber leistungsstark genug für komplexe Inhaltsworkflows.
Standard-RTE-Konfiguration im TYPO3-Core (Aktualisierte Übersicht)
Ein Standardkonfigurationsmerkmal ist ausgewogene Formatierung, saubere Inhaltsfilterung und die wesentlichen Plugins, um eine konsistente Ausgabe zu gewährleisten. Entwickler können dann ihr eigenes Preset aus diesen YAML-Dateien erstellen, falls sie mehr als eine Kopie haben.
Core Standard-Importstruktur
imports:
- { resource: "EXT:rte_ckeditor/Configuration/RTE/Processing.yaml" }
- { resource: "EXT:rte_ckeditor/Configuration/RTE/Editor/Base.yaml" }
- { resource:
"EXT:rte_ckeditor/Configuration/RTE/Editor/Plugins.yaml" }
Beispiel der Core-Editor-Konfiguration
editor:
config:
format_tags: "p;h1;h2;h3;h4;pre"
toolbarGroups:
- { name: styles, groups: [ styles, format ] }
- { name: basicstyles }
- { name: paragraph, groups: [ list, indent, align ] }
- { name: links }
- { name: clipboard }
- { name: editing }
- { name: insert }
Die meisten Projekte erweitern diese Basis, anstatt sie vollständig zu überschreiben, um die Kompatibilität zu gewährleisten und den Wartungsaufwand zu reduzieren.
Migration von altem TYPO3 RTE (htmlArea oder ältere CKEditor-Versionen) zu modernem CKEditor
Wenn Sie von älteren TYPO3-Versionen auf CKEditor 5 migrieren, die htmlArea RTE oder frühere CKEditor-Setups verwendet haben, erfordert die Migration einige Überlegungen, um Inhalts- oder Formatierungsprobleme zu vermeiden.
Empfohlener Migrations-Workflow
1. Überprüfen Sie bestehende RTE-Einstellungen
Überprüfen Sie bestehende PageTS- und TypoScript-Konfigurationen. Wählen Sie benutzerdefinierte Buttons, Klassen und erlaubte Tags aus.
2. Erstellen Sie ein passendes CKEditor-Preset
Wenn möglich, übertragen Sie die vorherigen Bearbeitungsfunktionen in YAML.
Beispiel für das Anpassen einer alten Toolbar:
editor:
config:
toolbar:
- [ 'Bold', 'Italic', 'Underline' ]
- [ 'JustifyLeft', 'JustifyCenter', 'JustifyRight',
'JustifyBlock' ]
- [ 'NumberedList', 'BulletedList', 'Indent', 'Outdent' ]
3. Aktivieren Sie erforderliche Plugins
Ältere Editoren haben jetzt CKEditor 5-Plugins. Machen Sie dann nur das, was Sie benötigen.
4. Testen Sie Inhaltsfelder im Backend
Öffnen Sie alte Texte, damit die Formatierung erhalten bleibt. Speichern Sie erneut, damit TYPO3 das alte Markup bereinigen kann.
5. Bereinigen Sie inkonsistentes HTML
Entfernen Sie unerwünschte Tags oder Inline-Stile, die CKEditor nicht mehr unterstützt.
Erweitertes Inhaltsfiltering
Das Filtersystem von CKEditor stellt sicher, dass Redakteure sauberes, konsistentes HTML erzeugen. TYPO3 fügt seine eigene Verarbeitung hinzu, sodass zusammen unerwünschte Tags und unübersichtliches Markup aus Ihren Inhalten ferngehalten werden.
Kernidee
Sie definieren explizit, welche Tags, Attribute und Klassen erlaubt sind. Alles andere wird entfernt.
Erlauben/Blockieren von HTML
processing:
allowTags: [ p, a, strong, em ]
allowAttributes:
a: [ href, target ]
Bereinigung von eingefügtem Inhalt
Das Filtering entfernt Inline-Stile und unnötiges Markup aus kopiertem Inhalt, um die Datenbank sauber zu halten.
processing:
htmlSanitizer:
removeInlineStyles: true
Fazit
CKEditor ist zu einem zuverlässigen Bestandteil der TYPO3-Bearbeitungserfahrung geworden und bietet Redakteuren eine sauberere und strukturiertere Möglichkeit, mit Inhalten zu arbeiten. Mit durchdachter Konfiguration können Sie einen Editor gestalten, der für Ihr Team einfach zu verwenden ist und gleichzeitig die Anforderungen komplexer Projekte unterstützt.
Für Entwickler bietet die moderne YAML-basierte Konfiguration klare Kontrolle über Formatierung, Funktionen und Filtering. Und wenn Sie mit einer TYPO3 Agentur arbeiten, sorgt eine gut definierte RTE-Konfiguration für eine reibungslosere Zusammenarbeit und hält den Inhalt auf der gesamten Website konsistent.
Ein richtig konfigurierter CKEditor führt zu einer besseren Backend-Erfahrung, weniger Frontend-Problemen und einem stabileren TYPO3 Projekt insgesamt.
FAQs
Ja. Sie können verschiedene Presets pro Feld, pro Inhaltselement oder sogar pro Backend-Layout zuweisen, um spezifische Bearbeitungsanforderungen zu erfüllen.
Der empfohlene Ort ist innerhalb Ihres Site-Pakets oder Ihrer Erweiterung, normalerweise unter:
Configuration/RTE/
Ja. Sie können erlaubte Klassen definieren und sie über Stil- oder Format-Dropdowns verfügbar machen.
In den meisten Fällen ja. TYPO3 wird älteres Markup bei Bedarf bereinigen und transformieren, aber es ist ratsam, Inhalte auf veraltete Inline-Stile oder nicht unterstützte Tags zu überprüfen.
Ja. TYPO3 unterstützt eine breite Palette von CKEditor-Plugins. Sie können diese in Ihrer YAML-Konfiguration aktivieren, solange sie in Ihrer Installation verfügbar sind.
Nur wenn Sie den Editor mit Ihren Frontend-Stilen verbinden. Standardmäßig verwendet CKEditor sein eigenes Backend-Styling, es sei denn, Sie fügen benutzerdefiniertes Editor-CSS hinzu.
Ansprechpartner für Internetagentur und TYPO3 Projekte
Sven Thelemann
Servicepartner - Deutschland





Sei der erste der kommentiert