Zum Inhalt springen

Backend

TYPO3-Backend-Integration für mpc/mp-core: Seite TSconfig, RTE-Voreinstellung, Backend-CSS, Inhaltsvorschau, Backend-Layouts und PHP-Helfer für den Editor.

MP-Core Logo

Übersicht

BereichOrtZweck
Seite TSconfigConfiguration/Sets/mp-core/page.tsconfigWird über Site Set geladen; importiert alle Backend-/Editor-TSconfig-Dateien
RTE-VoreinstellungConfiguration/RTE/Default.yamlAls globale Voreinstellung registriert default in ext_localconf.php
Backend-CSSResources/Public/StyleSheets/backend.cssTYPO3-Backend-UI-Anpassungen (Vite-Eintrag backend.js)
CKEditor-CSSResources/Public/StyleSheets/ckeditor.cssWYSIWYG-Darstellung im Backend + RTE-Ausgabe im Frontend
CKEditor-PluginResources/Public/JavaScripts/ckeditor/definition-list.jsPlugin für die Symbolleiste der Definitionsliste
Vorschau-RendererClasses/Preview/CustomContentPreviewRenderer.phpVorschau des Seitenmodul-Inhalts
Backend-LayoutsConfiguration/TsConfig/Page/Mod/WebLayout/BackendLayouts/Web > Struktur der Spaltenpositionen auf der Seite
Formular-YAMLResources/Extensions/form/Yaml/BaseSetup.yamlEXT:Form-Styling (wenn form geladen wird)

Seite TSconfig

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 für pages und tt_content:

  • Seiten: layout — nur „Standard“ (Elemente 1–4 entfernt).
  • Inhalt: Blendet ungenutzte Kern-CTypes aus (bullets, mehrere menu_*, textmedia, table, …).
  • Kopfzeilen: erweiterte header_layout Bezeichnungen (Punkte 6–12); Standard-TYPO3-Layout 0 entfernt.
  • Frames: frame_class und linkToTop global deaktiviert.
  • Überschreibungen pro CType (z. B. menu_subpages Link-Felder) – siehe Datei für vollständige Liste.

TCADefaults.tsconfig

Standardwerte beim Anlegen von Datensätzen, z. B. tt_content.filelink_size = 1, imagecols = 1.

TCEMAIN.tsconfig

Standardberechtigungsflags 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:

DateiCType
Gallery.tsconfiggallery
Stage.tsconfigstage
Banner.tsconfigbanner
Singleteaser.tsconfigsingleteaser

Container-CTypes (ce_*) werden von b13/container TCA registriert, nicht durch separate Assistenten-TSconfig-Dateien.

Backend-Layouts

Mod/WebLayout/BackendLayouts/Default.tsconfig und Article.tsconfig definieren die Spaltenstruktur für das Seitenmodul:

LayoutDateiTypische Spaltenpositionen
StandardDefault.tsconfig4 (Logos oben), 0 (oben), 1 (Hauptbereich), 2 (unten)
ArtikelArticle.tsconfigArtikelspezifische 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';
 

Seite TSconfig wählt die Voreinstellung aus:

 
// Configuration/TsConfig/Page/RTE.tsconfig
RTE.default.preset = default
 

Tag-Neuzuordnung in derselben Datei: bstrong, iem, sdel (RTE und DB-Parser).

Stylesheets

KonstanteDatei
BE.stylesheets.mp_core_backendResources/Public/StyleSheets/backend.css
BE.stylesheets.mp_core_ckeditorResources/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 Frontend-Typografie und -Schaltflächen wider.
  • Symbolleiste: Überschriften, Stile, Sprache, Listen (inkl. Definitionsliste), 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.
  • Definitionslisten-Plugin: benutzerdefiniertes Modul @mpc/mp-core/ckeditor/definition-list.js (siehe Configuration/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 Steuerung der HTML-Sanitisierung 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 TypeError aus den Core-Vorschau-Tools ab (fehlende Dateiverweise, Null-Sanitization) und rendert einen Fallback: optionales 150×150-Bild-Thumbnail, Header, Subheader, Text-Auszug (200 Zeichen).
  • Als vorübergehende Lösung gedacht, bis Randfälle in der Core-Vorschau behoben sind.

PHP-Backend-Helfer

KlasseRolle
UserFunc\ColorPickerValueItemsitemsProcFunc für grid_bgcolor — Erstellt Farboptionen aus der Website-Konfiguration color-* Schlüssel
Backend\Form\Container\FilesControlContainerDateifeld-Container; leitet fieldInformation an untergeordnete Felder
Preview\CustomContentPreviewRendererSiehe oben

Registriert in Configuration/Services.yaml (ColorPickerValueItems ist public: true für TCA-Callbacks).

Inhaltsblöcke (Backend-Editor)

DefinitionslisteContentBlocks/ContentElements/definitionlist/

ElementWert
namedl/definitionlist
typeNamedefinitionlist
Gruppenlists

Felder (Inhaltsblöcke-Schema):

FeldTypAnmerkungen
TYPO3/HeaderGrundlegendVerwendet Kern-Kopfzeilenfelder
radioboxesRadio0 = untereinander, 1 = nebeneinander
itemSammlungBegriff (text) + Definition (textarea, RTE aktiviert)
TYPO3/AppearanceGrundlegendeRahmen, Abstände

Vorlagen:

  • Frontend: templates/frontend.html
  • Vorschau im Backend: 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

Seite teilen