Zum Inhalt springen

Funktionsübersicht

Übersicht über alle Funktionen, Features und Integrationen, die von mpc/mp-core bereitgestellt werden.

MP-Core Logo

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

  1. mpc/mp-core (Aggregator) – Bezieht alle unten aufgeführten Funktionssätze ein; fügen Sie diesen config/sites/*/config.yaml , um einen vollständigen Stack zu erhalten
  2. mpc/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 unter Configuration/Sets/mp-core/)
  3. mpc/mp-core-container -- Konfiguration des Container-Elements
  4. mpc/mp-core-news -- Integration der News-Erweiterung (georgringer/news)
  5. mpc/mp-core-form -- Konfiguration des Formular-Frameworks
  6. mpc/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 / ErweiterungZweck
georgringer/news-recordlinksLinks zu Nachrichten-Einträgen
georgringer/news-sitemapSitemap der Nachrichten
mpc/mpc-vidplyIntegration des VidPly-Videoplayers
mpc/mpc-rssRSS-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 den Header.Logo.html / Header.Background.html
  • StructuredDataProcessor – Erstellt ein Schema.org-JSON-LD @graph (WebSite, WebPage/BlogPosting, BreadcrumbList, MusicGroup) mit sicherer json_encode Ausgabe
  • SocialMediaProcessor – Extrahiert Social-Media-URLs aus der Website-Konfiguration für sameAs Arrays und die Template-Rendering

Ereignis-Listener

  • CompressHtmlWhitespaceOnCacheableContentListener – Minimiert HTML AfterCacheableContentIsGeneratedEvent bevor 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>, entfernt on* Ereignisbehandler entfernt, javascript:/vbscript:/data: URIs in href/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 besteht Service\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 itemsProcFunc Lesen color-* Schlüssel aus der Website-Konfiguration
  • FilesControlContainer – Erweiterte Weiterleitung von Dateifeld-Containern fieldInformation Konfiguration
  • CustomContentPreviewRenderer – Backend-Vorschau-Renderer mit Fallback-Behandlung für TYPO3 v14 TypeErrors; implementiert LoggerAwareInterface , sodass maskierte Kern-Regressionen unter warning Ebene

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

Seite teilen