Zum Hauptinhalt springen

MEC Template Green – Quellen-Referenz (TPL → CSS → Cockpit)

Diese Seite mappt Original-Quellen (templates_green/, template_green/_*.css) auf die Cockpit-Implementierung (mec-template-green/ + _mec-shared/). Sie ist die Arbeitsgrundlage für Pixel-Audits – immer mit Computed Styles prüfen, nicht nur HTML/TPL lesen (CSS-Overrides können Elemente unsichtbar machen, obwohl sie im DOM stehen).

Einordnung: Fork von Grooss/D

Template Green ist kein Greenfield, sondern ein Design-Fork der Grooss/D-Linie:

VerwandtschaftTPL-Dateien (byte-identisch)
Groossangebote, content, datenschutz, einkaufswelt, geschaefte-a-z, gutschein, hotspot, impressum, master, rechtliche-hinweise, teilnahmebedingungen
Dzusätzlich content, geschaefte-a-z, master (Überschneidung mit Grooss)

Green-Eigenentwicklung: neues Hero-System (.page-header, 440px, Oliv-Block #AFB584 + Hintergrundbild), überarbeitetes home.tpl, modularisiertes CSS unter template_green/_*.css.


Quell-Pfade

TypPfad
Smarty-TPLmec-templates/site_templates/templates_green/*.tpl
CSS-Partialsmec-templates/sites/assets/css/template_green/_*.css
JSmec-templates/sites/assets/js/template_green.js
Demo-Assetsmec-templates/sites/assets/img/template_green/ (z. B. demo5.pngdemo9.png)
Live-Referenzelisenpark.de (Elisen Park Greifswald)
Cockpit CSSapps/center-website/components/templates/mec-template-green/template-green-{home,pages,footer}.css
Shared Pagesapps/center-website/components/templates/_mec-shared/pages/ + shared-pages.css

Hero-Muster (Original)

MusterCSSHöheSeiten
.page-header_content.css, _grid.css440pxkontakt, jobs, service, oeffnungszeiten, impressionen
.subpage-header_grid.css, _utilities.css360pxgutschein (wie Grooss/D)
kein Herohome (eigener Slider), angebote, anfahrt, nachrichten, geschaefte-a-z, legal, einkaufswelt

Default-Bilder im TPL-show_template-Zweig → Cockpit-Fallback in mec-green-subpage-hero-defaults.ts (CMS-Felder haben Vorrang).


Seiten-Referenz

Legende: Shared = Logik in _mec-shared/; Hero-Komponente = Green-spezifisch.

Route / SlugOriginal-TPLHero (Original)Body-Markup (Original)CSS-Partials (Legacy)Cockpit-PageSharedAn Grooss/D
/ (Home)home.tpl.home-slider.home-infobox-top/bottom, .box-*_home.css, _slider.css, _info-boxes.cssindex.tsx + hero-slider.tsx, info-boxes.tsx, offers-box.tsxHome-Struktur ≈ Grooss, Green-Skin
/aktuelles, /nachrichtennachrichten.tplkeiner.news-flex, .news-flex-main-left/right_shops.css (.news-flex-*)pages/aktuelles.tsxMecAktuellesPage (layout=flex)≈ D/Grooss (12 Zeilen Diff zu Grooss)
/angeboteangebote.tplkeiner.offers-flex, .offer-detail_shops.css, _offers.csspages/angebote.tsxMecAngebotePage (layout=flex)= Grooss
/einkaufswelt, Centerplaneinkaufswelt.tplkeiner#centerplan, #shop-details_centerplan.css, _shops.csspages/einkaufswelt.tsxMecEinkaufsweltPage= Grooss
/shops, /geschaefte-a-zgeschaefte-a-z.tplkeiner.main.content-cms, zwei .shop-list-Spalten_shops.css, _grid.csspages/geschaefte-a-z.tsxMecGeschaefteAZPage (dual-column)= Grooss/D
/oeffnungszeitenoeffnungszeiten.tpl.page-header#times-main, #times-weekdays, #times-shops_times.css, _content.csspages/opening-hours.tsxMecOpeningHoursPageBody ≈ Grooss, Hero Green-only
/anfahrtanfahrt.tplkeiner#map-router, .verkehrsmittel_google-maps.css, _verkehrsmittel.csspages/anfahrt.tsxMecAnfahrtPage≈ Grooss/D (leerer Slider)
/kontaktkontakt.tpl.page-header#contact-head, #contact-form_contact.css, _content.csspages/kontakt.tsxMecKontaktPageBody eigene Struktur, Hero Green-only
/serviceservice.tpl.page-header.services / .service Kacheln_service.css, _content.csspages/service.tsxMecServicePage (layout=green)Hero Green-only
/jobsjobs.tpl.page-header.content-jobs, .job, .job-wrapper_jobs.css, _content.csspages/jobs.tsxMecJobsPage (layout=grooss)Hero Green-only
/impressionenimpressionen.tpl.page-header.impressionen-slider, .slider-nav_content.css, _news.csspages/impressionen.tsxMecImpressionenPageHero Green-only
/gutscheingutschein.tpl.subpage-header.main.content-cms, h1 + Texte_grid.css, _utilities.csspages/gutschein.tsxMecGutscheinPage= Grooss (Header-Typ)
/impressumimpressum.tplkeiner.main.content-cms.impressum_content.csspages/impressum.tsxMecCmsContentClassicPage= Grooss
/datenschutzdatenschutz.tplkeiner.main.content-cms_content.csspages/datenschutz.tsxMecCmsContentClassicPage= Grooss
/rechtliche-hinweiserechtliche-hinweise.tplkeiner.main.content-cms_content.csspages/rechtliche-hinweise.tsxMecCmsContentClassicPage= Grooss
/teilnahmebedingungenteilnahmebedingungen.tplkeiner.main.content-cms_content.csspages/teilnahmebedingungen.tsxMecCmsContentClassicPage= Grooss
News/Angebot-Detailnachrichten.tpl / angebote.tplkeiner.news-flex-detail / .offer-detail_shops.csspages/content-detail.tsxMecContentDetailPage≈ D/Grooss
Shop-Detaileinkaufswelt.tplkeiner#shop-details_shops.csspages/shop-detail.tsxMecSharedShopDetailPage≈ Grooss
/vermietung– (nur Nav-Link in header.tpl)pages/vermietung.tsxMecVermietungPageCockpit-Erfindung (externer MEC-Link im Original)

Layout-Schale (alle Seiten)

BereichOriginalCockpit
Headerheader.tpl + _header.css, _navigation.css, _mobile-nav.csscomponents/header.tsx_mec-shared/components/mec-legacy-header.tsx
PageChromeHero vor {block body} in TPLmec-template-green-page-chrome.tsx (renderHero-Slot)
Hero .page-header_content.csscomponents/page-hero.tsxMecTemplateGreenPageHero
Hero .subpage-header_grid.css, _utilities.cssMecTemplateGreenSubpageHero (nur Gutschein)
Hero Startseite.home-slider + _slider.css / Live-teaser.csscomponents/hero-slider.tsx + Reiter Hero Slider (mec-green-hero-editor.tsx)
Footerfooter.tpl + _footer.csscomponents/footer.tsx + template-green-footer.css
Tokens / Scopetemplate_green.css (Bundle)[data-template="mec-template-green"] in template-green-pages.css

CSS-Partial-Index (template_green/_*.css)

DateiInhalt / betroffene Seiten
_base.cssReset, Body, Container
_fonts.cssKarla, Roboto
_header.css#header-bg, Logo, Nav-Höhen
_navigation.cssDesktop-Nav .subpage / .mainpage
_mobile-nav.css#mobile-nav, SVG-Hamburger
_footer.cssFooter-Spalten, Social
_home.cssStartseite allgemein
_slider.css.home-slider, .home-slider-item
_info-boxes.css.box-times, .box-einkaufswelt, Hover
_content.css.page-header (Green-only, 440px, #AFB584)
_grid.css.page-header, .subpage-header, Shop-Listen-Grid
_shops.css.shop-list, .offers-flex, .news-flex-*, Shop-Detail
_offers.cssAngebote-Detail, Preis-Badges
_times.css#times-main, #times-weekdays, Shop-Zeitbalken
_contact.css#contact-head, #contact-form
_service.css.services, .service Kacheln
_jobs.css.content-jobs, .job-title
_verkehrsmittel.css.verkehrsmittel (Anfahrt)
_google-maps.css#map-router
_centerplan.css#centerplan, #centerplan-navigation
_news.cssNews-Galerie, Impressionen-Slider
_utilities.css.subpage-header-background (360px), Hilfsklassen

Cockpit portiert diese Regeln selektiv nach template-green-*.css und _mec-shared/shared-pages.css – nicht jede Legacy-Zeile ist 1:1 übernommen (siehe Legacy-CSS-Checkliste).


Startseiten-Hero (Dashboard)

Speicherung: templateContent['mec-template-green'].hero.slides[].

FeldBedeutung
backgroundImageVollflächiges Hintergrundbild (Pflicht für neue Slides)
title.line1 / line2Zweizeiliger Titel, jeweils eigene Farbe und optional px-Größe
subtitle.textUntertitel unter dem Titel (kursiv, eigene Farbe/Größe)
contentBox.color / opacityTransparenter Kasten links hinter Titel + Untertitel (Standard: Olive #AFB584, 70 %)
startDate / endDateSlide zeitlich ein-/ausblenden
link, badgeOptional

Legacy-Slides mit HTML-Titel (<span class="white"> …) werden beim Laden im Dashboard migriert; auf der Website bleibt Legacy-HTML als Fallback unterstützt.


Hero-Defaults (Subpages)

pageSlugLegacy-Datei (TPL)Default-URL (Cockpit)
kontaktdemo5.png…/demo5.png + Titel „KONTAKT“, Untertitel „Wir sind für Sie da."
oeffnungszeitendemo6.png…/demo6.png
jobsdemo8.png…/demo8.png
serviceheader-services.png…/header-services.png
impressionendemo9.png…/demo9.png
gutscheinCMS only (subpage-header)header_gutscheine.svg (MEC-Legacy-Pfad)

Basis-URL Bilder: https://elisenpark.de/assets/img/template_green/ (siehe mec-green-subpage-hero-defaults.ts).


Audit-Hinweise

  1. Nicht nur TPL lesen: z. B. nav.subpage steht im DOM, kann aber display:none oder height:0 haben; #map-router hat inline 650px, computed oft 360px.
  2. Green ≠ Grooss bei Heroes: Grooss-SubpageHeader-Defaults auf Green anwenden ist falsch – dort .page-header mit 440px und Oliv-Block.
  3. Shared-Pages: Body-Logik in _mec-shared wiederverwenden, Optik über Green-CSS + Hero-Komponenten.
  4. Pixel-Audit-Skript: scripts/audit-mec-pixel-parity.py (Template green).

Siehe auch

Nutzungsstatistik: Seitenaufrufe werden anonymisiert erfasst. Im Umami-Dashboard nach diesem Pfad filtern: /developer-guide/mec-template-green-quellen-referenz