Skip to main content

Gutschein-Akzeptanzliste (Base-Template)

Das Base-Template (CockpitOS generisches Theme) unterstützt eine optionale Unterseite /gutscheine, die alle Shops des Centers auflistet, die Center-Gutscheine akzeptieren. Die öffentliche Seite nutzt dieselbe PageLayout-Hülle wie andere Basis-Seiten (SiteHeader, animierter Hintergrund, „Zurück“); der Footer (Datenschutz, Impressum, …) kommt wie üblich aus dem Center-Layout. Centers mit Full-Site-Template (z. B. ILG) behalten deren Header/Footer; die Gutschein-Seite zeigt dort nur den Inhalt im Template-main.

Übersicht

FeatureDetails
URL/{center-slug}/gutscheine
TemplateBase-Template (kein spezifisches Template)
Dashboard-TabInhalte → Seite: Gutscheine
Shop-FlagNimmt Center-Gutscheine an (im Shop-Editor)

1. Shop-Flag setzen: „Nimmt Center-Gutscheine an"

Für jeden Shop, der Center-Gutscheine akzeptiert, muss das entsprechende Flag aktiviert werden:

  1. Im Dashboard navigieren zu Inhalte → Shops
  2. Den gewünschten Shop öffnen (Bearbeiten)
  3. Im Abschnitt Einstellungen / Flags den Toggle „Nimmt Center-Gutscheine an" aktivieren
  4. Speichern

Shops mit diesem Flag erscheinen automatisch auf der /gutscheine-Unterseite.

note

Das Flag heißt intern acceptsCoupons. Es gilt nur für eigenständige Shops (kein Filial-Eintrag). Bei Filialen (ShopLocation) wird das Flag nicht unterstützt.


2. Gutschein-Seite aktivieren (Dashboard)

Die Seite ist standardmäßig deaktiviert und gibt ein 404 zurück. Aktivierung über den Dashboard-Tab:

  1. Im Dashboard zu Website-Konfiguration navigieren
  2. Tab „Seite: Gutscheine" öffnen (nur für Base-Template sichtbar)
  3. Toggle „Seite aktiv" einschalten
  4. Optional: Seitentitel und Einleitungstext anpassen
  5. Speichern

Sobald die Seite aktiv ist:

  • /gutscheine ist erreichbar und zeigt alle Shops mit aktivem Flag
  • Im Hamburger-Menü der Website erscheint ein „Gutscheine"-Link
  • Im Footer erscheint ebenfalls ein Link zur Gutschein-Seite

3. Konfigurierbare Inhalte

FeldPfad in templateContentStandardwert
Seite aktivbase.giftCards.enabledfalse
Seitentitelbase.giftCards.title„Gutschein-Akzeptanzliste"
Einleitungstextbase.giftCards.introText(leer)

4. Verhalten der Seite

  • Shops vorhanden: Kompaktes Kartenraster (Logo, Name, optional eine Zeile Kategorie/Etage bzw. Kette bei Filialen); Klick öffnet die Shop-Detailseite.
  • Keine Shops gepflegt: Hinweis-Box mit Platzhaltertext.
  • Seite deaktiviert: HTTP 404

5. API

Die Shops-API (/api/shops) unterstützt den Parameter acceptsGiftCard=true:

GET /api/shops?centerId=<id>&acceptsGiftCard=true

Gibt nur Shops zurück, bei denen acceptsCoupons === true ist.


6. Entwicklerhinweis (React Server Components)

Die Route apps/center-website/app/[slug]/gutscheine/page.tsx ist eine Server Component und rendert für das Basis-Theme die Client-Komponente PageLayout. Lucide-Icon-Komponenten (Funktionsreferenzen) dürfen dabei nicht als Prop icon={…} über die RSC-Grenze gegeben werden — das kann in Production zu Render-Fehlern führen. Stattdessen PageLayout mit iconKey="gift" (oder anderes in PAGE_TITLE_ICONS eingetragenes Kürzel) nutzen; die Icon-Auflösung erfolgt nur im Client.

Nutzungsstatistik: Seitenaufrufe werden anonymisiert erfasst. Im Umami-Dashboard nach diesem Pfad filtern: /en/center-website/gutschein-akzeptanzliste