
Content elements
- Gallery – Responsive image galleries with Lightbox (Swiper-based via Vue)
- Stage – Hero sections with image/video backgrounds
- Banner – Customisable banner sections
- Single teaser – Content teasers with images and links
- Accordion – Collapsible content areas (b13/container)
- Tabs – Content areas with tabs (b13/container)
- Slider – Swiper-based carousels (b13/container)
- Grid – Flexible column layouts (b13/container)
- Container – Generic content wrapper (b13/container)
- TodoList – Interactive to-do list with Vue.js 3 and localStorage
- Menu subpages – Advanced menus for subpages
- Definition List – Structured definition lists (Content Block)
Site Sets
mpc/mp-core(Aggregator) – Includes all the feature sets listed below; add thisconfig/sites/*/config.yamlfor a full-stackmpc/mp-core-base(required base) -- System extension dependencies (typo3/form,typo3/indexed-search, …) and shared definitions for site settings (YAML files are located atConfiguration/Sets/mp-core/)mpc/mp-core-container-- Configuration of the container elementmpc/mp-core-news-- Integration of the News extension (georgringer/news)mpc/mp-core-form-- Configuration of the form frameworkmpc/mp-core-seo-- SEO optimisation settings
Custom function sets must be defined by mpc/mp-core-base, not by mpc/mp-core — otherwise this may lead to a deadlock in TYPO3’s SetRegistry (aggregator → child → aggregator → …). See Configuration/Sets/mp-core/config.yaml.
Optional extension dependencies (mpc/mp-core-base)
Automatically activated when the extension is installed:
| Set / Extension | Purpose |
|---|---|
georgringer/news-recordlinks | Links to news entries |
georgringer/news-sitemap | Sitemap for news |
mpc/mpc-vidply | Integration of the VidPly video player |
mpc/mpc-rss | RSS feed integration |
Front-end stack
- Vite 8, Bootstrap 5.3, Vue.js 3.5, Sass 1.99, PostCSS, ESLint 10, Stylelint 17, Swiper 12, Jarallax 3
- ITCSS-based SCSS architecture with light/dark themes
- Code splitting, tree shaking, lazy loading, WOFF2 font subsetting
PHP classes
Data processors
- HeaderLogoProcessor -- Resolves logo settings at language and website level (
logoBig,logoSmall,logoSvg,logoText,logoTextHidden,websiteTitle) once per page render forHeader.Logo.html/Header.Background.html - StructuredDataProcessor -- Generates a Schema.org JSON-LD
@graph(WebSite, WebPage/BlogPosting, BreadcrumbList, MusicGroup) with securejson_encodeoutput - SocialMediaProcessor -- Extracts social media URLs from the website configuration for
sameAsarrays and the template rendering
middleware
- HtmlWhitespaceCompressorMiddleware (
mpc/mp-core/html-whitespace-compressor) – Reduces unnecessary whitespace in HTML responses200after Fluid output; retains<pre>,<textarea>,<script>,<style>,<svg>and HTML comments. Registered inConfiguration/RequestMiddlewares.php(always active; cannot be toggled in the site settings).
ViewHelpers
- SvgInlineViewHelper (
mpc:svgInline) -- Inline SVG rendering with DOM sanitisation, attribute merging and caching per request - Format\CssSanitizeViewHelper (
mpc:format.cssSanitize) -- Sanitises CSS strings to prevent style tag escaping and dangerous constructs - Format\Json\DecodeViewHelper (
mpc:format.json.decode) -- JSON decoding in Fluid templates - Schema\NewsArticleJsonLdViewHelper (
mpc:schema.newsArticleJsonLd) -- Outputs NewsArticle JSON-LD for EXT:news detail views
Backend / UserFunc
- ColorPickerValueItems -- Dynamic colour selection
itemsProcFuncReadcolor-*keys from the website configuration - FilesControlContainer -- Improved redirection of file field containers
fieldInformationConfiguration - CustomContentPreviewRenderer -- Backend preview renderer with TYPO3 v14 fallback handling for TypeError
Exceptions
- FileException – Domain exception for SVG/file operations with context array
Vue components
- TodoList -- Interactive to-do list with persistence via localStorage
- GallerySwiper -- Swiper-based gallery carousel for the gallery content element
- SwiperSlider -- Generic Swiper slider component for container slider elements
Extension integrations
- fluid_styled_content -- Displaying content in Bootstrap 5 style
- EXT:news – List/detail views, categories, pagination
- EXT:form – Bootstrap forms, YAML configuration
- EXT:indexed_search -- Search results in Bootstrap style
- EXT:seo -- Open Graph, Twitter Cards, Schema.org, XML sitemap
Accessibility
- Keyboard navigation, screen reader announcements, ARIA labels/roles
- Skippable links, focus management, high-contrast mode (fixed colours)
Documentation
- Frontend -- Build system, JS/SCSS architecture
- Configuration – Site Sets, TypoScript, TCA, Site Settings
- Backend – RTE, TSconfig, previews, content blocks
- Content elements – Gallery, Stage, Banner, Container, Field reference
- Favicons – Favicon assets,
Favicons.html, Web Manifest