
Inhaltselemente
- Galerie – Responsive Bildergalerien mit Lightbox (basierend auf Swiper über Vue)
- Stage – Hero-Bereiche mit Bild- oder Videohintergründen
- Banner – Anpassbare Bannerbereiche
- Einzel-Teaser – Inhalts-Teaser mit Bildern und Links
- Akkordeon – Ein- und ausklappbare Inhaltsbereiche (b13/container)
- Tabs – Inhaltsbereiche mit Registerkarten (b13/container)
- Slider – Swiper-basierte Karussells (b13/container)
- Raster – Flexible Spaltenlayouts (b13/container)
- Container – Generischer Inhalts-Wrapper (b13/container)
- TodoList – Interaktive To-Do-Liste mit Vue.js 3 und localStorage
- Menü-Unterseiten – Erweiterte Menüs für Unterseiten
- Definition List – Strukturierte Definitionslisten (Content Block)
Site-Sets
mpc/mp-core(Aggregator) – Bezieht alle unten aufgeführten Funktionssätze ein; fügen Sie diesenconfig/sites/*/config.yaml, um einen vollständigen Stack zu erhaltenmpc/mp-core-base(erforderliche Grundlage) – Abhängigkeiten von Systemerweiterungen (typo3/form,typo3/indexed-search, …) sowie gemeinsam genutzte Definitionen für Site-Einstellungen (YAML-Dateien befinden sich unterConfiguration/Sets/mp-core/)mpc/mp-core-container-- Konfiguration des Container-Elementsmpc/mp-core-news-- Integration der News-Erweiterung (georgringer/news)mpc/mp-core-form-- Konfiguration des Formular-Frameworksmpc/mp-core-seo-- Einstellungen zur SEO-Optimierung
Benutzerdefinierte Funktionssätze müssen von mpc/mp-core-base, nicht von mpc/mp-core — andernfalls kann es zu einem Deadlock in der SetRegistry von TYPO3 kommen (aggregator → child → aggregator → …). Siehe Configuration/Sets/mp-core/config.yaml.
Optionale Erweiterungsabhängigkeiten (mpc/mp-core-base)
Wird automatisch bei der Installation der Erweiterung aktiviert:
| Set / Erweiterung | Zweck |
|---|---|
georgringer/news-recordlinks | Links zu Nachrichten-Einträgen |
georgringer/news-sitemap | Sitemap der Nachrichten |
mpc/mpc-vidply | Integration des VidPly-Videoplayers |
mpc/mpc-rss | RSS-Feed-Integration |
Frontend-Stack
- Vite 8, Bootstrap 5.3, Vue.js 3.5, Sass 1.99, PostCSS, ESLint 10, Stylelint 17, Swiper 12, Jarallax 3
- ITCSS-basierte SCSS-Architektur mit Hell-/Dunkel-Themes
- Code-Splitting, Tree-Shaking, Lazy Loading, WOFF2-Schriftart-Subsetting
PHP-Klassen
Datenprozessoren
- HeaderLogoProcessor – Löst die Logo-Einstellungen auf Sprach- und Website-Ebene auf (
logoBig,logoSmall,logoSvg,logoText,logoTextHidden,websiteTitle) einmal pro Seitenrendering für denHeader.Logo.html/Header.Background.html - StructuredDataProcessor – Erstellt ein Schema.org-JSON-LD
@graph(WebSite, WebPage/BlogPosting, BreadcrumbList, MusicGroup) mit sichererjson_encodeAusgabe - SocialMediaProcessor – Extrahiert Social-Media-URLs aus der Website-Konfiguration für
sameAsArrays und die Template-Rendering
Ereignis-Listener
- CompressHtmlWhitespaceOnCacheableContentListener – Minimiert HTML
AfterCacheableContentIsGeneratedEventbevor die Zeile in den Seitencache geschrieben wird. Behält<pre>,<textarea>,<script>,<style>,<svg>sowie HTML-Kommentare. Immer aktiviert; keine Umschaltmöglichkeit in den Website-Einstellungen.
ViewHelpers
- SvgInlineViewHelper (
mpc:svgInline) – Inline-SVG-Darstellung mit DOM-Bereinigung (entfernt<script>/<foreignObject>/<iframe>/<embed>/<object>, entfernton*Ereignisbehandler entfernt,javascript:/vbscript:/data:URIs inhref/xlink:href/srcsowie Einschränkung<use>/<image>auf Verweise auf Fragmente im selben Dokument), Attributzusammenführung und Caching pro Anfrage - Format\CssSanitizeViewHelper (
mpc:format.cssSanitize) – Bereinigt CSS-Zeichenfolgen, um das Überschreiten von Style-Tags und gefährliche Konstrukte zu verhindern - Format\CssColorViewHelper (
mpc:format.cssColor) – Gibt einen CSS-Farbwert nur dann unverändert aus, wenn er die Prüfung bestehtService\CssColorValidator, andernfalls wird eine leere Zeichenkette ausgegeben; schützt Inline-<style>Blöcke vor der Einschleusung von Farbwerten durch die Website-Konfiguration - Format\Json\DecodeViewHelper (
mpc:format.json.decode) -- JSON-Dekodierung in Fluid-Vorlagen - Schema\NewsArticleJsonLdViewHelper (
mpc:schema.newsArticleJsonLd) – Gibt NewsArticle-JSON-LD für EXT:news-Detailansichten aus
Backend / UserFunc
- ColorPickerValueItems -- Dynamische Farbauswahl
itemsProcFuncLesencolor-*Schlüssel aus der Website-Konfiguration - FilesControlContainer – Erweiterte Weiterleitung von Dateifeld-Containern
fieldInformationKonfiguration - CustomContentPreviewRenderer – Backend-Vorschau-Renderer mit Fallback-Behandlung für TYPO3 v14 TypeErrors; implementiert
LoggerAwareInterface, sodass maskierte Kern-Regressionen unterwarningEbene
Ausnahmen
- FileException – Domänenausnahme für SVG-/Dateioperationen mit Kontext-Array
Vue-Komponenten
- TodoList – Interaktive To-Do-Liste mit Persistenz über localStorage
- GallerySwiper – Swiper-basiertes Galerie-Karussell für das Galerie-Inhaltselement
- SwiperSlider – Generische Swiper-Slider-Komponente für Container-Slider-Elemente
Erweiterungsintegrationen
- fluid_styled_content – Darstellung von Inhalten im Bootstrap-5-Stil
- EXT:news – Listen- und Detailansichten, Kategorien, Paginierung
- EXT:form – Bootstrap-Formulare, YAML-Konfiguration
- EXT:indexed_search – Suchergebnisse im Bootstrap-Stil
- EXT:seo – Open Graph, Twitter Cards, Schema.org, XML-Sitemap
Barrierefreiheit
- Tastaturnavigation, Ansagen für Screenreader, ARIA-Labels/Rollen
- Überspringlinks, Fokusverwaltung, Hochkontrastmodus (vorgegebene Farben)
Dokumentation
- Frontend – Build-System, JS/SCSS-Architektur
- Konfiguration – Site-Sets, TypoScript, TCA, Site-Einstellungen
- Backend – RTE, TSconfig, Vorschauen, Inhaltsblöcke
- Inhaltselemente – Galerie, Bühne, Banner, Container, Feldreferenz
- Favicons – Favicon-Assets,
Favicons.html, Web-Manifest