Versandkosten-System (Pflichtenheft Punkt 9) + kritischen Warenkorb/Checkout-Bug behoben
Neu: - Produkte können eigene Versandkosten je Land (DE/AT/CH/LU) bekommen, gelten nur bei Einzelkauf (genau 1 Stück von 1 Produkt) - Versandkosten-Staffel nach Warenwert je Land, von VanVan im Adminbereich bearbeitbar (neuer Bereich "Versandkosten-Staffel"), greift bei mehreren Produkten/Stück - Versandkostenfrei ab 75 € gilt immer, unabhängig von Einzelkauf/Staffel - Checkout berechnet und zeigt jetzt die echten Versandkosten live beim Länderwechsel an Kritischer Bugfix (unabhängig vom neuen Feature entdeckt): - Warenkorb- und Checkout-Skripte haben "import" innerhalb von define:vars-Skripten benutzt, was Astro als IIFE rendert (kein ES-Modul) — das hat in der echten Live-Version die ganze Zeit zu "Cannot use import statement outside a module" geführt, wodurch Warenkorb und Checkout praktisch nie funktioniert haben. Behoben durch Trennung: define:vars-Skript setzt nur Werte auf window, separates <script type="module"> mit den echten Imports liest sie aus. Mit echtem End-to-End-Test verifiziert (Artikel in Warenkorb legen, Land wechseln, Summe prüfen) statt nur Screenshot.
This commit is contained in:
@@ -92,6 +92,16 @@ collections:
|
||||
- { label: Bestseller, value: bestseller }
|
||||
- { label: "Im Sale", value: sale }
|
||||
- { label: Handgemacht, value: handgemacht }
|
||||
- label: "🚚 Eigene Versandkosten (nur für Einzelkauf dieses Produkts)"
|
||||
name: versand
|
||||
widget: object
|
||||
required: false
|
||||
hint: "Gilt NUR, wenn jemand genau 1 Stück von genau diesem Produkt kauft. Bei mehreren Produkten/Stück im Warenkorb gilt automatisch die allgemeine Versandkosten-Staffel (siehe eigener Bereich 'Versandkosten-Staffel' im Menü links). Leer lassen = Staffel gilt auch beim Einzelkauf."
|
||||
fields:
|
||||
- { label: "Deutschland (€)", name: de, widget: number, value_type: float, step: 0.01, required: false }
|
||||
- { label: "Österreich (€)", name: at, widget: number, value_type: float, step: 0.01, required: false }
|
||||
- { label: "Schweiz (€)", name: ch, widget: number, value_type: float, step: 0.01, required: false }
|
||||
- { label: "Luxemburg (€)", name: lu, widget: number, value_type: float, step: 0.01, required: false }
|
||||
|
||||
- name: categories
|
||||
label: Kategorien
|
||||
@@ -147,3 +157,44 @@ collections:
|
||||
- { label: Englisch, name: en, widget: string }
|
||||
- { label: "Schweizerdeutsch", name: ch, widget: string }
|
||||
- { label: Französisch, name: fr, widget: string }
|
||||
|
||||
- name: versandkosten
|
||||
label: "🚚 Versandkosten-Staffel"
|
||||
files:
|
||||
- name: staffel
|
||||
label: "Versandkosten-Staffel nach Warenwert"
|
||||
file: src/content/versandstaffel.json
|
||||
description: >
|
||||
Gilt automatisch im Warenkorb/an der Kasse, sobald jemand mehrere Produkte oder
|
||||
mehrere Stück kauft (bei genau 1 Stück von 1 Produkt gilt stattdessen der eigene
|
||||
Versandpreis am Produkt, falls dort einer eingetragen ist). Ab 75 € Warenwert ist der
|
||||
Versand immer kostenlos, unabhängig von dieser Tabelle.
|
||||
fields:
|
||||
- label: Deutschland
|
||||
name: de
|
||||
widget: list
|
||||
summary: "ab {{fields.abWarenwert}} € → {{fields.kosten}} €"
|
||||
fields:
|
||||
- { label: "Ab Warenwert (€)", name: abWarenwert, widget: number, value_type: float, step: 0.01 }
|
||||
- { label: "Versandkosten (€)", name: kosten, widget: number, value_type: float, step: 0.01 }
|
||||
- label: Österreich
|
||||
name: at
|
||||
widget: list
|
||||
summary: "ab {{fields.abWarenwert}} € → {{fields.kosten}} €"
|
||||
fields:
|
||||
- { label: "Ab Warenwert (€)", name: abWarenwert, widget: number, value_type: float, step: 0.01 }
|
||||
- { label: "Versandkosten (€)", name: kosten, widget: number, value_type: float, step: 0.01 }
|
||||
- label: Schweiz
|
||||
name: ch
|
||||
widget: list
|
||||
summary: "ab {{fields.abWarenwert}} € → {{fields.kosten}} €"
|
||||
fields:
|
||||
- { label: "Ab Warenwert (€)", name: abWarenwert, widget: number, value_type: float, step: 0.01 }
|
||||
- { label: "Versandkosten (€)", name: kosten, widget: number, value_type: float, step: 0.01 }
|
||||
- label: Luxemburg
|
||||
name: lu
|
||||
widget: list
|
||||
summary: "ab {{fields.abWarenwert}} € → {{fields.kosten}} €"
|
||||
fields:
|
||||
- { label: "Ab Warenwert (€)", name: abWarenwert, widget: number, value_type: float, step: 0.01 }
|
||||
- { label: "Versandkosten (€)", name: kosten, widget: number, value_type: float, step: 0.01 }
|
||||
|
||||
Reference in New Issue
Block a user