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 (Swiper-basiert über Vue)
  • Stage – Hero-Bereiche mit Bild-/Videohintergründen
  • Banner – Anpassbare Bannerbereiche
  • Einzel-Teaser – Inhalts-Teaser mit Bildern und Links
  • Accordion – Zusammenklappbare 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 für einen Full-Stack
  2. mpc/mp-core-base (erforderliche Basis) -- Systemerweiterungsabhängigkeiten (typo3/form, typo3/indexed-search, …) und 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 für 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-Font-Subsetting

PHP-Klassen

Datenprozessoren

  • HeaderLogoProcessor -- Löst Logo-Einstellungen auf Sprach- und Website-Ebene auf (logoBig, logoSmall, logoSvg, logoText, logoTextHidden, websiteTitle) einmal pro Seitenrendering für 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

Middleware

  • HtmlWhitespaceCompressorMiddleware (mpc/mp-core/html-whitespace-compressor) – Reduziert überflüssige Leerzeichen in HTML-Antworten 200 nach der Fluid-Ausgabe; behält <pre>, <textarea>, <script>, <style>, <svg>und HTML-Kommentare. Registriert in Configuration/RequestMiddlewares.php (immer aktiv; keine Umschaltmöglichkeit in den Site-Einstellungen).

ViewHelpers

  • SvgInlineViewHelper (mpc:svgInline) -- Inline-SVG-Rendering mit DOM-Sanierung, Attributzusammenführung und Caching pro Anfrage
  • Format\CssSanitizeViewHelper (mpc:format.cssSanitize) -- Bereinigt CSS-Zeichenfolgen, um das Ausbrechen von Style-Tags und gefährliche Konstrukte zu verhindern
  • 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 -- Verbesserte Weiterleitung von Dateifeld-Containern fieldInformation Konfiguration
  • CustomContentPreviewRenderer -- Backend-Vorschau-Renderer mit TYPO3 v14-Fallback-Behandlung für TypeError

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-/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
  • Überspringbare Links, Fokusverwaltung, Hochkontrastmodus (festgelegte 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