
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
mpc/mp-core(Aggregator) – Bezieht alle unten aufgeführten Funktionssätze ein; fügen Sie diesenconfig/sites/*/config.yamlfür einen Full-Stackmpc/mp-core-base(erforderliche Basis) -- Systemerweiterungsabhängigkeiten (typo3/form,typo3/indexed-search, …) und 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 für 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-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ürHeader.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
Middleware
- HtmlWhitespaceCompressorMiddleware (
mpc/mp-core/html-whitespace-compressor) – Reduziert überflüssige Leerzeichen in HTML-Antworten200nach der Fluid-Ausgabe; behält<pre>,<textarea>,<script>,<style>,<svg>und HTML-Kommentare. Registriert inConfiguration/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
itemsProcFuncLesencolor-*Schlüssel aus der Website-Konfiguration - FilesControlContainer -- Verbesserte Weiterleitung von Dateifeld-Containern
fieldInformationKonfiguration - 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