Skip to main content

⚠️ Wichtiger Hinweis

Benutzerdefinierte Templates erfordern fortgeschrittene technische Kenntnisse in HTML, CSS, JavaScript und React. Stelle sicher, dass du über ausreichende Entwicklungserfahrung oder Zugang zu einem qualifizierten Shopify-Entwickler verfügst, bevor du fortfährst. Unser Support-Team bietet keine Unterstützung bei der Entwicklung, dem Debugging oder der Fehlerbehebung von benutzerdefinierten Templates. Technische Fragen sollten an einen Shopify-Experten oder qualifizierten Entwickler gerichtet werden.

Funktionen des Code-Editors

Der Code-Editor für benutzerdefinierte Templates enthält integrierte Tools, die dir helfen, gültige Templates einfacher zu schreiben.

TypeScript IntelliSense

Der Editor versteht TypeScript, sodass du beim Tippen Autovervollständigungsvorschläge, Typprüfung und Inline-Dokumentation für alle verfügbaren props erhältst. Die Prop-Typ-Hinweise sind reine Editor-IntelliSense, die dir beim Schreiben von Templates helfen — sie werden nicht in das Template geschrieben und laufen nie auf deinem Storefront.

Bearbeitbarer Template-Body

Der Editor zeigt nur den bearbeitbaren JSX-Body deines Templates — es gibt keine gesperrten Zeilen. Der umgebende Funktions-Wrapper wird beim Build automatisch hinzugefügt und wird im Editor nie angezeigt. Verwende jederzeit Reset to default, um das Original-Template wiederherzustellen, falls deine Bearbeitungen die Template-Struktur beschädigen.

Allgemeiner Bereich

Mit dem Header-Modul kannst du den Warenkorb-Header mit deinem eigenen Design anpassen und dabei wesentliche Warenkorb-Funktionen wie die Anzeige der Artikelanzahl und eine Schließen-Schaltfläche beibehalten.

Verfügbare Props – Full-Template

Cart-Drawer-Header mit dem Warenkorb-Titel, der Artikelanzahl und der Schließen-Schaltfläche cartQuantity
  • Typ: string
  • Beschreibung: Die aktuelle Anzahl der Artikel im Warenkorb, formatiert als String
  • Verwendung: Zeige die Anzahl der Warenkorb-Artikel in deinem benutzerdefinierten Header-Design an
closeHandler
  • Typ: () => void
  • Beschreibung: Eine Callback-Funktion, die den Warenkorb schließt, wenn sie ausgelöst wird
  • Verwendung: Hänge sie an Schaltflächen, Symbole oder andere interaktive Elemente, um den Warenkorb zu schließen
titleComponent
  • Typ: React.ReactElement | null
  • Beschreibung: Eine vorgerenderte Titel-Komponente für den Warenkorb-Header mit korrektem Styling und Übersetzungen
  • Verwendung: Zeige den Warenkorb-Titel basierend auf deiner Warenkorb-Einstellungskonfiguration an

Body-Bereich

Ankündigungen

Mit dem Announcements-Modul kannst du Ankündigungsanzeigen mit deinem eigenen Design anpassen und dabei wesentliche Ankündigungsfunktionen wie Timer-Steuerung und bedingte Sichtbarkeit beibehalten.

Verfügbare Props – Full-Template

Warenkorb-Ankündigungsleiste mit einem Countdown-Timer, der die Produkte des Kunden reserviert announcementTemplate
  • Typ: string
  • Beschreibung: Der HTML-Inhalt für die Ankündigungsnachricht
  • Verwendung: Zeige die Ankündigungsnachricht in deinen benutzerdefinierten Implementierungen an
timer
  • Typ: string
  • Beschreibung: Der aktuelle Timer-Wert, formatiert als String
  • Verwendung: Zeige den Countdown-Timer in benutzerdefinierten Ankündigungsimplementierungen an
shouldUseTimer
  • Typ: boolean
  • Beschreibung: Gibt an, ob die Timer-Funktionalität für diese Ankündigung aktiviert ist
  • Verwendung: Rendere timer-bezogene Inhalte und Steuerelemente bedingt
isTimerExpiredAndShouldHide
  • Typ: boolean
  • Beschreibung: Gibt an, ob der Timer abgelaufen ist und die Ankündigung ausgeblendet werden soll
  • Verwendung: Steuere die Sichtbarkeit der gesamten Ankündigung basierend auf dem Timer-Status

Gestaffelte Prämien

Mit dem Rewards-Modul kannst du die Anzeige des Prämienfortschritts mit deinem eigenen Design anpassen und dabei wesentliche Prämienfunktionen wie Meilenstein-Tracking, Fortschrittsvisualisierung und Prämiennachrichten beibehalten.

Verfügbare Props – Full-Template

Fortschrittsleiste der gestaffelten Prämien mit Meilenstein-Symbolen für kostenlosen Versand und Produkt rewardsMessageHtml
  • Typ: string
  • Beschreibung: Der HTML-Inhalt für die Prämiennachricht
  • Verwendung: Zeige die Prämiennachricht mit Rich-Formatierung in benutzerdefinierten Implementierungen an
milestonesCompleted
  • Typ: number
  • Beschreibung: Die Anzahl der abgeschlossenen Meilensteine
  • Verwendung: Zeige die Abschlussanzahl an oder berechne den Abschlussprozentsatz
milestonesData
  • Typ:
  • Beschreibung: Vollständige Meilenstein-Konfiguration und Fortschrittsdaten für das Prämiensystem
  • Verwendung: Greife auf Meilenstein-Informationen, den Fortschrittsprozentsatz und Anzeigeeinstellungen zu
  • Eigenschaften:
    • milestonesToRender: Array von Meilenstein-Objekten mit Abschlussstatus und Positionierung
    • progressPercent: Aktueller Fortschritt als Prozentsatz (0–100)
    • showMilestones: Ob Meilenstein-Markierungen angezeigt werden sollen
    • settings: Visuelle Konfiguration für die Meilenstein-Anzeige

Rabatte

Das Discounts-Modul unterstützt benutzerdefinierte Templates, sodass du deine eigene Anzeige gestalten und dabei wesentliche Funktionen wie Regelverwaltung, Abschnittssichtbarkeit und Prämienpräsentation beibehalten kannst. Der interne Modultyp-Bezeichner für benutzerdefinierte Templates ist TRIGGERED_REWARDS, um Abwärtskompatibilität mit bestehendem Custom-Template-Code zu gewährleisten.

Verfügbare Props – Full-Template

rules
  • Typ:
  • Beschreibung: Array der aktuell aktivierten Rabattregeln
  • Verwendung: Zeige verfügbare Prämien, ihre Titel und Beschreibungen an sowie ob die Bedingungen jeder Regel erfüllt sind
  • Eigenschaften:
    • id: Eindeutiger Bezeichner für die Prämienregel
    • title: Titel der Rabattregel
    • description: Beschreibung der Prämienregel
    • conditionsMet: Ob die Bedingungen der Regel aktuell vom Warenkorb erfüllt werden. Verwende dies, um UX-Muster wie „Du hast X freigeschaltet“ vs. „Gib noch $Y aus, um X freizuschalten“ zu bauen
showSection
  • Typ: boolean
  • Beschreibung: Gibt an, ob der Discounts-Abschnitt angezeigt werden soll
  • Verwendung: Steuere die Sichtbarkeit des gesamten Discounts-Moduls
onToggleSection
  • Typ: () => void
  • Beschreibung: Eine Callback-Funktion, die den Sichtbarkeitsstatus des Discounts-Abschnitts umschaltet
  • Verwendung: Hänge sie an Schaltflächen oder interaktive Elemente, damit Nutzer den Prämienbereich ein-/ausblenden können

Empfehlungen

Mit dem Recommendation-Modul kannst du Upsell-Produktanzeigen mit deinem eigenen Design anpassen und dabei wesentliche E-Commerce-Funktionen wie Variantenauswahl, Add-to-Cart-Aktionen und die Anzeige von Produktinformationen beibehalten.

Verfügbare Props – Recommendation-Tile-Template

Empfehlungskachel mit einem Snowboard-Produkt, Preis und Add-Schaltfläche Das Recommendation-Tile-Template teilt sich das gleiche Prop-Interface wie das Upsell-Tile-Template im Upsells-Modul. Alle verfügbaren Props, Typen und Verwendungsbeispiele sind unten im Abschnitt zum Upsells-Modul dokumentiert.

Warenkorb-Artikel

Mit dem Cart-Items-Modul kannst du die Anzeige der Warenkorb-Artikel mit deinem eigenen Design anpassen und dabei wesentliche E-Commerce-Funktionen beibehalten. Dieses Modul bietet mehrere Template-Typen, jeweils mit eigenen spezifischen Props für verschiedene Aspekte der Warenkorb-Artikel-Anzeige.
Anzeigen eines Ladeindikators während Add-to-Cart oder Warenkorb-Aktualisierungen: Das Standard-Cart-Items-Modul stellt keinen eingebauten „Wird zum Warenkorb hinzugefügt“-Spinner bereit. Wenn du einen Ladezustand anzeigen möchtest, während ein Artikel hinzugefügt wird oder eine Warenkorb-Operation läuft, verwende das Product-Tile-Template und lies die Props isLoading und loadingOperation (unten dokumentiert), um bedingt einen Spinner oder ein Overlay zu rendern. Benutzerdefinierte Templates erfordern Entwicklererfahrung — siehe den Hinweis oben auf dieser Seite.

Verfügbare Props – Product-Tile-Template

Hinweis: Das Aktivieren des Product-Tile-Templates überschreibt alle anderen Templates in diesem Modul, einschließlich Variant-Template, Properties-Template, Bundle-Template und Price-Template.
Wenn du benutzerdefinierten Code in einem dieser Templates verwenden möchtest, musst du das Product-Tile-Template deaktivieren.
Warenkorb-Produktkachel mit Bild, Variante, Angebotspreis, Mengenauswahl und Abonnieren-Schaltfläche title
  • Typ: string
  • Beschreibung: Der Produkttitel/-name
  • Verwendung: Zeige den Hauptproduktnamen in Warenkorb-Artikeln an
variant
  • Typ: React.ReactNode
  • Beschreibung: Vorgerenderte Varianteninformations-Komponente
  • Verwendung: Zeige Variantendetails als React-Komponente an
properties
  • Typ: React.ReactNode
  • Beschreibung: Vorgerenderte Produkteigenschaften-Komponente
  • Verwendung: Zeige Produkteigenschaften und Abo-Informationen als React-Komponente an
bundle
  • Typ: React.ReactNode
  • Beschreibung: Vorgerenderte Bundle-Details-Komponente
  • Verwendung: Zeige Bundle-Informationen als React-Komponente an
compareAtPrice
  • Typ: string | undefined
  • Beschreibung: Formatierter Vergleichspreis (Originalpreis)
  • Verwendung: Zeige den Originalpreis für reduzierte Artikel an
price
  • Typ: string
  • Beschreibung: Formatierter aktueller Preis
  • Verwendung: Zeige den aktuellen Artikelpreis an
savings
  • Typ: string | undefined
  • Beschreibung: Formatierter Ersparnisbetrag
  • Verwendung: Zeige an, wie viel der Kunde spart
imageUrl
  • Typ: string | undefined
  • Beschreibung: URL des Produktbilds
  • Verwendung: Zeige das Produktbild an
productUrl
  • Typ: string | undefined
  • Beschreibung: URL der Produktseite
  • Verwendung: Verlinke zur Produktdetailseite
quantity
  • Typ: number
  • Beschreibung: Aktuelle Artikelmenge im Warenkorb
  • Verwendung: Zeige die Artikelmenge an und verwalte sie
showQuantitySelector
  • Typ: boolean
  • Beschreibung: Ob die Mengensteuerung angezeigt werden soll
  • Verwendung: Zeige die Mengenauswahl bedingt an
discountCodes
  • Typ: string[] | undefined
  • Beschreibung: Array der angewendeten Rabattcodes für diesen Artikel
  • Verwendung: Zeige artikelspezifische Rabatte an
subscription
  • Typ:
  • Beschreibung: Vollständiges Abo-Verwaltungsobjekt mit Upgrade-Daten, Selling Plans und Handler-Funktionen
  • Verwendung: Verwalte die Abo-Funktionalität
  • Das Subscription-Objekt enthält:
    • subscriptionUpgradeData: Upgrade-Informationen (null, wenn kein Upgrade verfügbar ist)
      • buttonText: Text für die Upgrade-Schaltfläche
      • defaultSellingPlanId: ID des Standard-Selling-Plans für Upgrades
    • sellingPlansData: Verfügbare Selling-Plan-Optionen (null, wenn keine Pläne vorhanden sind)
      • sellingPlanGroups: Array von Plan-Gruppen mit ihren Selling Plans
      • activeSellingPlanId: ID des aktuell ausgewählten Selling Plans
      • oneTimePurchaseText: Text für die Einmalkauf-Option (null, wenn nicht verfügbar)
    • upgradeSellingPlan: Funktion zum Upgrade auf einen bestimmten Selling Plan
    • changeSellingPlan: Funktion zum Ändern des aktuellen Selling Plans
    • getSellingPlanGroupText: Hilfsfunktion zum Formatieren des Selling-Plan-Anzeigetexts
onIncrease
  • Typ: () => void
  • Beschreibung: Funktion zum Erhöhen der Artikelmenge
  • Verwendung: Verarbeite Aktionen zur Mengenerhöhung
onDecrease
  • Typ: () => void
  • Beschreibung: Funktion zum Verringern der Artikelmenge
  • Verwendung: Verarbeite Aktionen zur Mengenverringerung
onDeleteProduct
  • Typ: () => void
  • Beschreibung: Funktion zum Entfernen eines Artikels aus dem Warenkorb
  • Verwendung: Verarbeite das Entfernen von Artikeln
onQuantityChange
  • Typ: (quantity: string) => void
  • Beschreibung: Funktion zur Verarbeitung direkter Mengeneingaben
  • Verwendung: Verarbeite manuelle Mengenänderungen
handleInputChange
  • Typ: (e: React.ChangeEvent<HTMLInputElement>) => void
  • Beschreibung: Handler für Eingabeänderungen im Mengenfeld
  • Verwendung: Verarbeite Änderungen im Mengeneingabefeld
replaceItemWithVariant
  • Typ: (variantId: string) => Promise<{ success: boolean }>
  • Beschreibung: Funktion zum Ersetzen eines Artikels durch eine andere Variante
  • Verwendung: Verarbeite den Variantenwechsel
isLoading
  • Typ: boolean
  • Beschreibung: Ladezustand für Warenkorb-Operationen
  • Verwendung: Zeige Ladeindikatoren an
loadingOperation
  • Typ: 'increase' | 'decrease' | 'inputChange' | 'remove' | 'subscription' | undefined
  • Beschreibung: Die spezifische Operation, die gerade lädt
  • Verwendung: Zeige operationsspezifische Ladezustände an
setLoadingOperation
  • Typ: (op: "increase" | "decrease" | "inputChange" | "remove" | "subscription" | undefined) => void
  • Beschreibung: Funktion zum Setzen des Ladeoperations-Status
  • Verwendung: Verwalte Ladezustände für verschiedene Operationen
rawItem
  • Typ: CartItem (siehe den CartItem-Typ unten)
  • Beschreibung: Rohe Warenkorb-Artikeldaten mit allen Informationen

Verfügbare Props – Variant-Template

Variantenzeile eines Warenkorb-Artikels mit der ausgewählten Größe Medium item
  • Typ: CartItem (siehe den CartItem-Typ unten)
  • Beschreibung: Rohe Warenkorb-Artikeldaten mit Varianteninformationen
  • Verwendung: Greife auf Variantendetails des Warenkorb-Artikels zu

Verfügbare Props – Properties-Template

Eigenschaftszeile eines Warenkorb-Artikels mit einer Geschenknachricht productProperties
  • Typ: { key: string; value: string; isUrl?: boolean; }[]
  • Beschreibung: Array von Produkteigenschaften (benutzerdefinierte Felder, Line-Item-Properties)
subscriptionLabel
  • Typ: string | undefined
  • Beschreibung: Beschriftung für Abo-Informationen

Verfügbare Props – Bundle-Template

Aufgeklapptes Bundle mit drei enthaltenen Komponentenprodukten und Varianten getSizedImageUrl
  • Typ: getSizedImageUrl: ({ src, width, height }: SizedImageParams) => string
  • Beschreibung: Hilfsfunktion zum Abrufen korrekt dimensionierter Bild-URLs
item
  • Typ:
  • Beschreibung: Bundle-Artikelinformationen einschließlich Komponenten. itemComponents ist ein Array von Komponenten-Objekten — mappe darüber, um jede gebündelte Komponente zu rendern.
showDetailsText
  • Typ: string | undefined
  • Beschreibung: Text für die Aktion „Details anzeigen“
  • Verwendung: Zeige den Text der Aufklapp-Schaltfläche an
hideDetailsText
  • Typ: string | undefined
  • Beschreibung: Text für die Aktion „Details ausblenden“
isExpanded
  • Typ: boolean
  • Beschreibung: Ob die Bundle-Details aufgeklappt sind
toggleCollapsible
  • Typ: () => void
  • Beschreibung: Funktion zum Umschalten der Sichtbarkeit der Bundle-Details
  • Verwendung: Verarbeite Auf-/Zuklapp-Aktionen
chevronDownIconComponent
  • Typ: React.ReactElement
  • Beschreibung: Vorgerendertes Chevron-Symbol zum Auf-/Zuklappen
  • Verwendung: Zeige einen konsistenten Auf-/Zuklapp-Indikator an

Verfügbare Props – Price-Template

Warenkorb-Preis mit durchgestrichenem Originalpreis, Angebotspreis und Ersparnis compareAtPrice
  • Typ: string | undefined
  • Beschreibung: Formatierter Vergleichspreis (Originalpreis)
  • Verwendung: Zeige den Originalpreis für reduzierte Artikel an
price
  • Typ: string
  • Beschreibung: Formatierter aktueller Preis
  • Verwendung: Zeige den aktuellen Artikelpreis an
savings
  • Typ: string | undefined
  • Beschreibung: Formatierter Ersparnisbetrag
  • Verwendung: Zeige an, wie viel der Kunde spart

Eigenschaften des CartItem-Objekts

Das CartItem-Objekt enthält alle detaillierten Informationen über einen Warenkorb-Line-Item. Dieses Objekt ist als props.rawItem im Product-Tile-Template und als props.item im Variant-Template verfügbar.

Kern-Identifikation

  • key (string) – Eindeutiger Bezeichner für diesen Warenkorb-Artikel.
  • id (number) – Varianten-ID (Legacy-Feld, verwende stattdessen variant_id)
  • variant_id (number) – Die Shopify-Varianten-ID für diesen Artikel
  • product_id (number) – Die Shopify-Produkt-ID
  • lineIdxFrom1 (number) – 1-basierter Index dieses Artikels im ursprünglichen Warenkorb vor Änderungen

Produktinformationen

  • title (string) – Der Titel des Line-Items (normalerweise der Variantentitel)
  • product_title (string) – Der Hauptprodukttitel
  • handle (string) – Produkt-URL-Handle (z. B. „camp-stool“)
  • vendor (string) – Name des Produktanbieters/der Marke
  • product_type (string) – Produktkategorie/-typ für Steuerzwecke
  • sku (string) – Stock-Keeping-Unit-Bezeichner
  • product_description (string) – Vollständige Produktbeschreibung
  • product_has_only_default_variant (boolean) – Ob das Produkt nur eine Variante hat

Preise (alle Preise in Cent)

  • quantity (number) – Anzahl dieses Artikels im Warenkorb
  • price (number) – Stückpreis vor Rabatten
  • original_price (number) – Gleich wie price
  • discounted_price (number) – Stückpreis nach Rabatten auf Produktebene
  • compare_at_price (number | null) – Vergleichspreis (UVP). Hinweis: Dieses Feld wird von Upcart hinzugefügt und nicht von Shopifys Cart-API bereitgestellt
  • final_line_price (number) – Gesamtpreis nach Rabatten auf Produktebene (Menge × discounted_price)
  • original_line_price (number) – Gesamtpreis vor Rabatten (Menge × price)
  • line_price (number) – Gesamtpreis nach allen Rabatten
  • final_price (number)Veraltet – Stückpreis nach Produktrabatten (berücksichtigt die Menge nicht)
  • total_discount (number) – Gleich wie line_level_total_discount
  • line_level_total_discount (number) – Gesamter Rabattbetrag, der auf dieses Line-Item angewendet wurde

Medien & URLs

  • image (string) – URL des primären Produktbilds
  • url (string) – Relativer URL-Pfad zur Produktseite (z. B. „/products/camp-stool?variant=42789611372803“)
  • featured_image (object | null) – Details zum vorgestellten Bild:
    • alt (string) – Alt-Text des Bildes
    • aspect_ratio (number) – Seitenverhältnis des Bildes
    • height (number) – Bildhöhe in Pixeln
    • url (string) – Bild-URL
    • width (number) – Bildbreite in Pixeln

Varianten & Optionen

  • variant_title (string | null) – Variantentitel (z. B. „Large / Red“)
  • variant_options (string[]) – Array der Variantenoptionswerte
  • options_with_values (Array) – Detaillierte Optionsinformationen:
    • name (string) – Optionsname (z. B. „Size“)
    • value (string) – Optionswert (z. B. „Large“)
  • untranslated_product_title (string | undefined) – Ursprünglicher Produkttitel vor der Übersetzung (nur in Cart-Mutations-Antworten)
  • untranslated_variant_title (string | undefined) – Ursprünglicher Variantentitel vor der Übersetzung (nur in Cart-Mutations-Antworten)

Benutzerdefinierte Eigenschaften & Metadaten

  • properties (Record<string, any> | null) – Benutzerdefinierte Line-Item-Properties oder null, wenn die Zeile keine hat — prüfe das, bevor du einen Key liest. Properties, deren Keys mit __ beginnen, sind für Kunden immer verborgen; Keys, die mit einem einzelnen _ beginnen, sind ebenfalls verborgen, wenn die Warenkorb-Einstellung Hide properties starting with single underscore ”_” aktiviert ist.
  • gift_card (boolean) – Ob dieser Artikel eine Geschenkkarte ist
  • taxable (boolean) – Ob dieser Artikel steuerpflichtig ist
  • requires_shipping (boolean) – Ob dieser Artikel Versand erfordert
  • grams (number) – Artikelgewicht in Gramm

Rabatte & Aktionen

  • discounts (Array) – Vereinfachte Rabattinformationen:
    • amount (number) – Rabattbetrag in Cent
    • title (string) – Rabatt-Titel/-Name
  • line_level_discount_allocations (Array) – Detaillierte Informationen zur Rabattzuweisung:
    • amount (number) – Rabattbetrag in Cent
    • discount_application (object) – Vollständige Details zur Rabattanwendung:
      • allocation_method (string) – Wie der Rabatt zugewiesen wird
      • created_at (string) – Wann der Rabatt erstellt wurde
      • description (string | null) – Rabattbeschreibung
      • key (string) – Rabatt-Key-Bezeichner
      • target_selection (string) – Worauf der Rabatt abzielt
      • target_type (string) – Typ des Ziels
      • title (string) – Rabatt-Titel
      • total_allocated_amount (number) – Insgesamt zugewiesener Betrag
      • type ('discount_code' | '') – Rabatttyp (leerer String für automatische Rabatte)
      • value (string) – Rabattwert
      • value_type (string) – Wie der Wert angewendet wird

Bundle-Produkte

  • has_components (boolean | undefined) – Ob dieser Artikel ein Bundle ist, das andere Produkte enthält (nur in GET-Cart-Antworten)
  • item_components (Array | null | undefined) – Details zu den Bundle-Komponenten:
    • quantity (number) – Menge dieser Komponente
    • image (object) – Bild der Komponente:
      • url (string) – Bild-URL
      • height (number | null) – Bildhöhe
      • width (number | null) – Bildbreite
      • alt (string) – Alt-Text
  • product (object) – Produktinformationen der Komponente:
    • title (string) – Produkttitel
    • has_only_default_variant (boolean) – Ob das Produkt nur die Standardvariante hat
  • variantTitle (string) – Variantentitel der Komponente

Geschäftsregeln

  • quantity_rule (object | undefined) – Mengenbeschränkungen (nur in GET-Cart-Antworten):
    • min (number) – Minimal erlaubte Menge
    • max (number | null) – Maximal erlaubte Menge (null = keine Grenze)
    • increment (number) – Schrittweite der Mengenerhöhung

Abo-Informationen

  • selling_plan_allocation (object | undefined) – Details zu Abo-/Selling-Plänen:
    • price (number) – Abo-Preis in Cent
    • compare_at_price (number | null) – Abo-Vergleichspreis
    • per_delivery_price (number) – Preis pro Lieferung
    • selling_plan (object) – Selling-Plan-Details:
      • id (number) – Selling-Plan-ID
      • name (string) – Plan-Name
      • description (string) – Plan-Beschreibung
      • options (Array) – Plan-Optionen:
        • name (string) – Optionsname
        • position (number) – Optionsposition
        • value (string) – Optionswert
      • recurring_deliveries (boolean) – Ob der Plan wiederkehrende Lieferungen hat

Integrations-Metadaten

  • __appIntegrated (object | undefined) – Integrationsdaten von Drittanbieter-Apps:
    • app ('stay.ai') – Bezeichner der integrierten App
    • bundleRole ('parent' | 'child') – Rolle in der Bundle-Struktur

Upsells

Mit dem Upsells-Modul kannst du Upsell-Produktanzeigen mit deinem eigenen Design anpassen und dabei wesentliche E-Commerce-Funktionen wie Variantenauswahl, Add-to-Cart-Aktionen und die Anzeige von Produktinformationen beibehalten.

Verfügbare Props – Upsell-Tile-Template

Upsell-Kachel mit einem Produkt mit Angebotspreis, Varianten-Dropdown und Add-Schaltfläche itemUrl
  • Typ: string
  • Beschreibung: Die URL der Produktseite
  • Verwendung: Erstelle Links zur Produktdetailseite für eine verbesserte Benutzernavigation
imageUrl
  • Typ: string | undefined
  • Beschreibung: Die URL des Produktbilds
  • Verwendung: Zeige Produktbilder in benutzerdefinierten Upsell-Implementierungen an
  • Fallback: Behandle undefinierte Werte elegant mit Platzhalterbildern
description
  • Typ: string
  • Beschreibung: Die Beschreibung des Produkts
  • Verwendung: Zeige die Produktbeschreibung in benutzerdefinierten Upsell-Implementierungen an
altText
  • Typ: string
  • Beschreibung: Alt-Text für das Produktbild für Barrierefreiheit
  • Verwendung: Biete Screenreader-Unterstützung und verbessere die Barrierefreiheit
productId
  • Typ: string
  • Beschreibung: Der eindeutige Bezeichner für das Produkt
  • Verwendung: Verfolge Produkte, implementiere Analytics oder verwende ihn in der Add-to-Cart-Funktionalität
productTitle
  • Typ: string
  • Beschreibung: Der Titel/Name des Produkts
  • Verwendung: Zeige den Produktnamen in benutzerdefinierten Upsell-Implementierungen an
oldPrice & newPrice
  • Typ: string | null (oldPrice), string (newPrice)
  • Beschreibung: Formatierter Vergleichspreis und aktueller Preis
  • Verwendung: Zeige Preisinformationen mit Angebots-Kennzeichnungen an
isSingleVariant
  • Typ: boolean
  • Beschreibung: Gibt an, ob das Produkt nur eine Variante hat
  • Verwendung: Rendere UI-Elemente zur Variantenauswahl bedingt
productOptions
  • Typ: { name: string; position: 1 | 2 | 3; values: string[]; }[]
  • Beschreibung: Vollständige Produktoptions-Konfiguration einschließlich aller verfügbaren Auswahlmöglichkeiten
  • Verwendung: Greife auf detaillierte Produktoptions-Informationen für erweiterte Variantenauswahl-UIs zu
variantOptions
  • Typ: { label: string; value: string }[]
  • Beschreibung: Verfügbare Variantenoptionen für das Produkt
  • Verwendung: Erstelle Dropdowns oder Schaltflächen zur Variantenauswahl
  • Struktur: Jede Option enthält ein Anzeige-Label und einen eindeutigen Wert-Bezeichner
selectedVariantId & selectedVariantLabel
  • Typ: string (selectedVariantId), string | undefined (selectedVariantLabel)
  • Beschreibung: Aktuell ausgewählte Varianten-ID und ihr Anzeige-Label
  • Verwendung: Verfolge und zeige die Informationen zur ausgewählten Variante an
onVariantChange
  • Typ: (variantId: string) => void
  • Beschreibung: Funktion zur Verarbeitung von Änderungen der Variantenauswahl
  • Verwendung: Aktualisiere die ausgewählte Variante, wenn der Nutzer eine Auswahl trifft
onAddClick
  • Typ: (productId: string, variantId?: string) => void
  • Beschreibung: Funktion zum Hinzufügen des Produkts zum Warenkorb
  • Verwendung: Implementiere die Add-to-Cart-Funktionalität mit korrekter Produkt- und Variantenidentifikation
rating & reviewCount
  • Typ: number | undefined (rating), string | undefined (reviewCount)
  • Beschreibung: Produktbewertung und formatierter Text zur Bewertungsanzahl
  • Verwendung: Zeige Social Proof und Indikatoren für Produktqualität an
addLoading & addButtonText
  • Typ: boolean (addLoading), string (addButtonText)
  • Beschreibung: Ladezustand für die Add-to-Cart-Aktion und Schaltflächentext
  • Verwendung: Gib Nutzerfeedback während Warenkorb-Operationen und passe den Schaltflächentext an
cartItemsCount
  • Typ: number
  • Beschreibung: Die aktuelle Anzahl der Artikel im Warenkorb
  • Verwendung: Zeige den Warenkorb-Status an oder implementiere warenkorbbasierte Logik

Zusätzliche Notizen

Mit dem Notes-Modul kannst du die Warenkorb-Notizfunktion mit deinem eigenen Design anpassen und dabei wesentliche Notizfunktionen wie aufklappbare Bereiche, Texteingabeverarbeitung und Ladezustände beibehalten.

Verfügbare Props – Full-Template

Warenkorb-Notizbereich mit einem aufklappbaren Textfeld für besondere Anweisungen cartNote
  • Typ: string
  • Beschreibung: Der aktuelle Inhalt der vom Kunden eingegebenen Warenkorb-Notiz
  • Verwendung: Zeige den Notiztext des Warenkorbs an und verwalte ihn in benutzerdefinierten Implementierungen
notesPlaceholder
  • Typ: string
  • Beschreibung: Platzhaltertext für das Notiz-Eingabefeld
  • Verwendung: Gib Kunden Hinweise, was sie in ihre Notizen aufnehmen sollen
notesTitle
  • Typ: string
  • Beschreibung: Der Titel-/Überschriftentext für den Notizbereich
  • Verwendung: Zeige den Abschnittstitel in benutzerdefinierten Notiz-Implementierungen an
chevronDownIconComponent
  • Typ: React.ReactElement
  • Beschreibung: Vorgerenderte Chevron-Symbol-Komponente für die Auf-/Zuklapp-Funktionalität
  • Verwendung: Zeige konsistente Auf-/Zuklapp-Indikatoren in benutzerdefinierten Implementierungen an
loadingIndicatorComponent
  • Typ: React.ReactElement | null
  • Beschreibung: Vorgerenderte Ladeindikator-Komponente für asynchrone Operationen
  • Verwendung: Zeige Ladezustände während des Speicherns von Notizen an
handleCartNoteChange
  • Typ: (newCartNote: string) => void
  • Beschreibung: Funktion zur Verarbeitung von Änderungen am Inhalt der Warenkorb-Notiz
  • Verwendung: Aktualisiere die Warenkorb-Notiz, wenn der Nutzer den Text ändert
isExpanded
  • Typ: boolean
  • Beschreibung: Gibt an, ob der Notizbereich aktuell aufgeklappt ist
  • Verwendung: Steuere die Sichtbarkeit des Notiz-Eingabebereichs
toggleCollapsible
  • Typ: () => void
  • Beschreibung: Funktion zum Umschalten des auf-/zugeklappten Zustands des Notizbereichs
  • Verwendung: Hänge sie an Schaltflächen oder interaktive Elemente, um die Sichtbarkeit des Bereichs zu steuern

Add-ons

Mit dem Addons-Modul kannst du die Anzeige von Add-on-Produkten mit deinem eigenen Design anpassen und dabei wesentliche E-Commerce-Funktionen wie die Anzeige von Produktinformationen, Preisen, Umschaltsteuerungen und Währungsformatierung beibehalten.

Verfügbare Props – Full-Template

Add-on-Produktzeile mit einer Geschenkkarte, Preis und Aktivierungs-Umschalter addonProduct
  • Typ:
  • Beschreibung: Vollständige Add-on-Produktinformationen einschließlich Produktdetails, Variantenpreisen und Bilddaten
  • Verwendung: Greife auf alle Produktinformationen zu, die zur Anzeige von Add-on-Produkten benötigt werden
  • Struktur: Enthält verschachtelte Produkt-, Varianten- und Bild-Objekte mit umfassenden Produktdaten
    • Eigenschaften des Product-Objekts addonProduct.product
      • id: Eindeutiger numerischer Bezeichner für das Produkt
      • title: Anzeigename des Add-on-Produkts
      • description: HTML-Beschreibungsinhalt des Produkts
    • Eigenschaften des Variant-Objekts
      • id: Eindeutiger numerischer Bezeichner für die Variante
      • price: Aktueller Preis in Cent
      • compare_at_price: Originalpreis in Cent (null, wenn kein Vergleichspreis vorhanden ist)
    • Eigenschaften des Image-Objekts
      • src: URL des Produktbilds
      • alt: Alt-Text für das Bild (für Barrierefreiheit)
toggle
  • Typ:
  • Beschreibung: Zustand der Umschaltsteuerung und Handler zum Aktivieren/Deaktivieren des Add-ons
  • Verwendung: Implementiere eine interaktive Umschaltfunktion für die Add-on-Auswahl
  • Zustände: Drei mögliche Zustände – enabled, disabled und loading
  • Handler: Separate Funktionen für Aktivierungs- und Deaktivierungsaktionen
moneyFormat
  • Typ: string
  • Beschreibung: Der Währungsformat-String für die Preisformatierung
  • Verwendung: Übergib ihn an die formatMoney-Funktion für eine konsistente Währungsanzeige
formatMoney
  • Typ:
  • Beschreibung: Hilfsfunktion zum Formatieren von Währungswerten
  • Verwendung: Formatiere Preise konsistent mit den Währungseinstellungen des Stores
  • Parameter: Nimmt einen Cent-Wert, einen optionalen Format-String und eine Option zum Entfernen von HTML entgegen

Rabattcodes

Mit dem Discount-Code-Modul kannst du die Eingabefunktion für Rabattcodes mit deinem eigenen Design anpassen und dabei wesentliche E-Commerce-Funktionen wie Code-Validierung, Formularübermittlung und Nutzerfeedback beibehalten.

Verfügbare Props – Full-Template

Rabattcode-Eingabefeld mit einer Apply-Schaltfläche indicator
  • Typ: 'validating' | 'invalid' | 'none'
  • Beschreibung: Aktueller Validierungsstatus der Rabattcode-Eingabe
  • Verwendung: Zeige passendes UI-Feedback basierend auf dem Validierungsstatus an
  • Zustände:
    • validating: Der Code wird gerade verarbeitet/validiert
    • invalid: Die Code-Validierung ist fehlgeschlagen
    • none: Kein Validierungsstatus (Standard/inaktiv)
discountCodeInput
  • Typ: string
  • Beschreibung: Aktueller Wert des Rabattcode-Eingabefelds
  • Verwendung: Zeige den vom Nutzer eingegebenen Rabattcode-Text an und verwalte ihn
discountCodePlaceholder
  • Typ: string
  • Beschreibung: Platzhaltertext für das Rabattcode-Eingabefeld
  • Verwendung: Gib Nutzern Hinweise, was sie in das Feld eingeben sollen
discountCodeButtonText
  • Typ: string
  • Beschreibung: Text, der auf der Anwenden-/Absenden-Schaltfläche angezeigt wird
  • Verwendung: Passe den Schaltflächentext für die Rabattcode-Übermittlung an
setDiscountCodeInput
  • Typ: (value: string | ((prev: string) => string)) => void
  • Beschreibung: Funktion zum Aktualisieren des Rabattcode-Eingabewerts
  • Verwendung: Verarbeite Eingabeänderungen des Nutzers im Rabattcode-Feld
handleSubmit
  • Typ: (e: React.FormEvent<HTMLFormElement>) => void
  • Beschreibung: Funktion zur Verarbeitung der Formularübermittlung für die Rabattcode-Anwendung
  • Verwendung: Verarbeite die Validierung und Anwendung des Rabattcodes
  • Event: Verarbeitet Formularübermittlungs-Events

Warenkorb-Zusammenfassung

Mit dem Cart-Summary-Modul kannst du die Anzeige der Warenkorb-Zusammenfassung und der Rabatte mit deinem eigenen Design anpassen und dabei wesentliche E-Commerce-Funktionen wie Rabattverwaltung, Ersparnisberechnung und Preistransparenz beibehalten.

Verfügbare Props – Full-Template

Rabattzeile der Warenkorb-Zusammenfassung mit einem angewendeten Rabattcode und Betrag totalSavingsText
  • Typ: string
  • Beschreibung: Textbeschriftung für den Bereich der Gesamtersparnis
  • Verwendung: Zeige die Ersparnis-Beschriftung in benutzerdefinierten Warenkorb-Zusammenfassungen an
discountApplications
  • Typ:
  • Beschreibung: Array der angewendeten Rabattcodes und automatischen Rabatte
  • Verwendung: Zeige alle aktiven Rabatte mit ihren Titeln und Typen an
  • Struktur: Jeder Rabatt enthält einen eindeutigen Key, einen Anzeigetitel und einen Typ-Bezeichner
cartTotalDiscount
  • Typ: number
  • Beschreibung: Der Gesamtrabattbetrag in Cent
  • Verwendung: Greife auf den rohen Rabattwert für Berechnungen oder benutzerdefinierte Formatierungen zu
showCartTotalDiscount
  • Typ: boolean
  • Beschreibung: Gibt an, ob der Gesamtrabatt angezeigt werden soll. Als veraltet zugunsten von showTotalSavings markiert, aber siehe den Hinweis unten — innerhalb eines benutzerdefinierten Templates ist dies weiterhin das Prop, das du hast.
  • Verwendung: Rendere Rabattinformationen bedingt basierend auf den Einstellungen
formattedCartTotalDiscount
  • Typ: string
  • Beschreibung: Vorformatierter HTML-String des Gesamtrabattbetrags. Als veraltet zugunsten von formattedTotalSavings markiert, aber siehe den Hinweis unten.
  • Verwendung: Zeige den korrekt formatierten Rabattbetrag mit Währungssymbolen an
showTotalSavings und formattedTotalSavings sind innerhalb eines benutzerdefinierten Templates nicht verfügbar. Sie existieren im internen Kontext des Moduls, aber dem Cart-Summary-Template werden nur showCartTotalDiscount und formattedCartTotalDiscount übergeben — das Lesen des neueren Paars gibt undefined zurück. Verwende die beiden oben genannten und beachte, dass sie nur die Rabattsumme anzeigen; sie folgen nicht der Einstellung Show compare-at price savings in footer total.
isRemovingDiscount
  • Typ: boolean
  • Beschreibung: Gibt an, ob gerade ein Rabatt entfernt wird
  • Verwendung: Zeige Ladezustände während der Rabattentfernung an
handleRemoveDiscount
  • Typ: () => Promise<void>
  • Beschreibung: Funktion zum Entfernen von Rabattcodes
  • Verwendung: Entferne angewendete Rabattcodes aus dem Warenkorb
totalCompareAtPrice
  • Typ: number
  • Beschreibung: Summe der Vergleichspreise (alle Artikel im Warenkorb)
  • Verwendung: Berechne und zeige Ersparnisse oder Originalpreisinformationen an
totalAfterAllDiscounts
  • Typ: number
  • Beschreibung: Endgültige Warenkorbsumme in Cent nach Anwendung aller Rabatte
  • Verwendung: Zeige den endgültigen Preis an, den Kunden zahlen
originalTotalPrice
  • Typ: number
  • Beschreibung: Ursprüngliche Warenkorbsumme in Cent vor allen Rabatten
  • Verwendung: Zeige die Originalpreise für Transparenz und Ersparnisberechnung an
cartItemCount
  • Typ: number
  • Beschreibung: Gesamtanzahl der Artikel im Warenkorb
  • Verwendung: Zeige Informationen zur Artikelanzahl in Warenkorb-Zusammenfassungen an

Trust Badges

Mit dem Trust-Badges-Modul kannst du die Anzeige von Trust Badges mit deinem eigenen Design anpassen und dabei wesentliche vertrauensbildende Funktionen wie bedingte Badge-Sichtbarkeit und korrekte Bildverarbeitung beibehalten.

Verfügbare Props – Full-Template

showBadge
  • Typ: boolean
  • Beschreibung: Gibt an, ob das Trust Badge angezeigt werden soll
  • Verwendung: Steuere die Sichtbarkeit von Trust Badges basierend auf den Moduleinstellungen
badgeUrl
  • Typ: string
  • Beschreibung: Die URL des anzuzeigenden Trust-Badge-Bildes
  • Verwendung: Quell-URL für das Trust-Badge-Bild in benutzerdefinierten Implementierungen