
Übersicht
| Bereich | Standort | Zweck |
|---|---|---|
| Seiten-TSconfig | Configuration/Sets/mp-core/page.tsconfig | Wird über „Site Set“ geladen; importiert alle Backend-/Editor-TSconfig-Dateien |
| RTE-Voreinstellung | Configuration/RTE/Default.yaml | Als globale Voreinstellung registriert default in ext_localconf.php |
| Backend-CSS | Resources/Public/StyleSheets/backend.css | TYPO3-Backend-UI-Anpassungen (Vite-Eintrag backend.js) |
| CKEditor-CSS | Resources/Public/StyleSheets/ckeditor.css | WYSIWYG-Darstellung im Backend + RTE-Ausgabe im Frontend |
| CKEditor-Plugin | Resources/Public/JavaScripts/ckeditor/definition-list.js | Plugin für die Symbolleiste der Definitionsliste |
| Vorschau-Renderer | Classes/Preview/CustomContentPreviewRenderer.php | Vorschau des Inhalts von Seitenmodulen |
| Backend-Layouts | Configuration/TsConfig/Page/Mod/WebLayout/BackendLayouts/ | Web > Struktur „colPos“ der Seite |
| Formular-YAML | Resources/Extensions/form/Yaml/BaseSetup.yaml | EXT:Formular-Styling (wenn form geladen wird) |
Seiten-TS-Konfiguration
Registriert über das Site-Set (Configuration/Sets/mp-core/page.tsconfig):
@import 'EXT:mp_core/Configuration/TsConfig/Page/ContentElement/All.tsconfig'
@import 'EXT:mp_core/Configuration/TsConfig/Page/Mod/WebLayout/BackendLayouts.tsconfig'
@import 'EXT:mp_core/Configuration/TsConfig/Page/RTE.tsconfig'
@import 'EXT:mp_core/Configuration/TsConfig/Page/TCADefaults.tsconfig'
@import 'EXT:mp_core/Configuration/TsConfig/Page/TCEMAIN.tsconfig'
@import 'EXT:mp_core/Configuration/TsConfig/Page/TCEFORM.tsconfig'
TCEFORM.tsconfig
Formularverhalten für den Editor pages und tt_content:
- Seiten:
layout— nur „Standard“ (Elemente 1–4 entfernt). - Inhalt: Blendet nicht verwendete Kern-CTypes aus (
bullets, mehreremenu_*,textmedia,table, …). - Kopfzeilen: erweiterte
header_layoutBezeichnungen (Punkte 6–12); Standard-TYPO3-Layout0entfernt. - Frames:
frame_classundlinkToTopglobal deaktiviert. - Überschreibungen pro CType (z. B.
menu_subpagesLink-Felder) – vollständige Liste siehe Datei.
TCADefaults.tsconfig
Standardwerte beim Anlegen von Datensätzen, z. B. tt_content.filelink_size = 1, imagecols = 1.
TCEMAIN.tsconfig
Standard-Berechtigungsflags für neue Inhalte (Bearbeitungsrechte für Gruppen/Benutzer).
Assistenten für Inhaltselemente
Configuration/TsConfig/Page/ContentElement/Element/*.tsconfig registriert neue Einträge im Assistenten für Inhaltselemente:
| Datei | CType |
|---|---|
Gallery.tsconfig | gallery |
Stage.tsconfig | stage |
Banner.tsconfig | banner |
Singleteaser.tsconfig | singleteaser |
Container-CTypes (ce_*) werden vom TCA „b13/container“ registriert, nicht durch separate TSconfig-Dateien des Assistenten.
Backend-Layouts
Mod/WebLayout/BackendLayouts/Default.tsconfig sowie Article.tsconfig definieren die Spaltenstruktur für das Seitenmodul:
| Layout | Datei | Typische Spaltenpositionen |
|---|---|---|
| Standard | Default.tsconfig | 4 (Logos oben), 0 (oben), 1 (Hauptbereich), 2 (unten) |
| Artikel | Article.tsconfig | Artikelspezifische Bereiche |
SVG-Symbole: Resources/Public/BackendLayouts/.
RTE (CKEditor 5)
Registrierung
// ext_localconf.php
$GLOBALS['TYPO3_CONF_VARS']['RTE']['Presets']['default'] = 'EXT:mp_core/Configuration/RTE/Default.yaml';
Die Seite „TSconfig“ wählt die Voreinstellung aus:
// Configuration/TsConfig/Page/RTE.tsconfig
RTE.default.preset = default
Tag-Neuzuordnung in derselben Datei: b → strong, i → em, s → del (RTE und DB-Parser).
Stylesheets
| Konstante | Datei |
|---|---|
BE.stylesheets.mp_core_backend | Resources/Public/StyleSheets/backend.css |
BE.stylesheets.mp_core_ckeditor | Resources/Public/StyleSheets/ckeditor.css |
Neu erstellen mit npm run build nach Build/ nach SCSS-Änderungen.
Voreingestellte Hervorhebungen (Configuration/RTE/Default.yaml)
- contentsCss:
ckeditor.css— Der Editor spiegelt die Typografie und Schaltflächen des Frontends wider. - Symbolleiste: Überschriften, Stile, Sprache, Listen (einschließlich Definitionslisten), Tabellen, Quelltextbearbeitung usw.
- Stil-Plugin: Bootstrap-Schaltflächen, Kicker/Lead, Blockzitate, Klassen für Überschriftenebenen, Klassen für Linktypen, Text-Hilfsfunktionen.
- Listen-Eigenschaften: benutzerdefinierte Stile, Startindex, umgekehrte Reihenfolge.
- Plugin für Definitionslisten: benutzerdefiniertes Modul
@mpc/mp-core/ckeditor/definition-list.js(sieheConfiguration/JavaScriptModules.php). - Zulässige Link-Klassen:
internal-link,external-link,download,email,phone,audio,video,glossary,public,legal,gallery,chart. - Verarbeitung: zusätzliche zulässige Tags (
figure,figcaption,dl,dt,dd, …).
Bezeichnungen: Resources/Private/Language/locallang_rte.xlf.
Frontend-RTE-Ausgabe
TypoScript lib.parseFunc_RTE in Configuration/TypoScript/Setup/60.Lib.typoscript und 90.CleanupRTE.typoscript steuern die HTML-Bereinigung und -Umbrüche im Frontend.
Inhaltsvorschau (CustomContentPreviewRenderer)
Global registriert unter tt_content:
// Configuration/TCA/Overrides/tt_content_00_base.php
$GLOBALS['TCA']['tt_content']['ctrl']['previewRenderer'] =
\Mpc\MpCore\Preview\CustomContentPreviewRenderer::class;
Verhalten:
- Delegiert an TYPO3s
StandardContentPreviewRenderer, sofern möglich. - Erfasst
TypeErroraus den Vorschau-Tools des Kerns ab (fehlende Dateiverweise, Null-Sanitierung) und rendert einen Fallback: optionales 150×150-Bild-Thumbnail, Kopfzeile, Untertitel, Auszug aus dem Fließtext (200 Zeichen). - Implementiert
LoggerAwareInterface. Jeder abgefangene „Throwable“ wird aufwarningEbene mitmethod,uid,pid,CTypeund die Ausnahme protokolliert, sodass Regressionen aus dem Upstream im TYPO3-Protokoll sichtbar bleiben, anstatt durch den Fallback verdeckt zu werden. - Gedacht als vorübergehende Übergangslösung, bis Randfälle in der Core-Vorschau behoben sind.
PHP-Backend-Helfer
| Klasse | Rolle |
|---|---|
UserFunc\ColorPickerValueItems | itemsProcFunc für grid_bgcolor -- Erstellt Farboptionen anhand der Schlüssel aus der Website-Konfiguration color-* Schlüssel. Filtert Werte anhand Service\CssColorValidator und begrenzt Bezeichnungen auf 200 Zeichen, damit fehlerhafte Konfigurationen die Auswahl im Backend nicht verfälschen. |
Service\CssColorValidator | Rein statischer Validator für CSS- <color> Token (benannt, #rgb[a], #rrggbb[aa], rgb()/rgba()/hsl()/hsla()); lehnt jedes Byte ab, das aus einer CSS-Deklaration herausfallen könnte. Wird von Format\CssColorViewHelper. |
Backend\Form\Container\FilesControlContainer | Dateifeld-Container; leitet fieldInformation an untergeordnete Felder |
Preview\CustomContentPreviewRenderer | Siehe oben |
Registriert in Configuration/Services.yaml (ColorPickerValueItems ist public: true damit TYPO3 den itemsProcFunc Callback aus dem Container auflösen kann). Siehe „Konfiguration → Dependency Injection“ für die vollständige Liste und das „local-overrides“-Muster.
Inhaltsblöcke (Backend-Editor)
Definitionsliste — ContentBlocks/ContentElements/definitionlist/
| Element | Wert |
|---|---|
name | dl/definitionlist |
typeName | definitionlist |
| Gruppe | lists |
Felder (Schema der Inhaltsblöcke):
| Feld | Typ | Anmerkungen |
|---|---|---|
TYPO3/Header | Grundlegend | Verwendet die Kern-Kopfzeilenfelder wieder |
radioboxes | Optionsfeld | 0 = untereinander, 1 = nebeneinander |
item | Sammlung | Begriff (text) + Definition (textarea, RTE aktiviert) |
TYPO3/Appearance | Grundlegende | Rahmen, Abstände |
Vorlagen:
- Frontend:
templates/frontend.html - Backend-Vorschau:
templates/backend-preview.html
Inhaltsblöcke werden bereitgestellt von friendsoftypo3/content-blocks (Composer-Abhängigkeit).
Icons
Configuration/Icons.php registriert SVG-Symbole für CTypes und Container (tx_gallery, tx_stage, ce_accordion, …) registriert, die im Assistenten für neue Inhalte und im Seitenbaum verwendet werden.
Zugehörige Dokumentation
- Inhaltselemente – TCA-Felder und Vorlagen pro CType
- Konfiguration – Site-Einstellungen, Site-
config.yamlFelder - Frontend – Vite-Build für
backend.css/ckeditor.css