Abo-System: VanVan kann jetzt wirklich alles im Admin einstellen
Bisher waren nur Preis, Rabatt-% und ein paar Verhaltensregeln im CMS editierbar — Namen, Vorteilstexte und die Teddy-Vergabe-Intervalle steckten fest im Code. Jetzt ist pro Abo-Stufe (Klein/Mittel/Groß) direkt im Adminbereich einstellbar: - Name & Vorteilstext der Stufe, in allen 4 Sprachen einzeln - Ob die Stufe aktuell überhaupt neu buchbar ist (bestehende Abonnent:innen behalten ihre Vorteile trotzdem, im Kundenkonto wird die Stufe nur für neue Buchungen ausgegraut mit "Derzeit nicht buchbar") - Nach wie vielen Monaten es den kleinen/großen Teddy gibt (ersetzt die vorher fest verankerten 6-/12-Monats-Abstände) - Welches Produkt als "kleiner"/"großer" Teddy für die Prämien-Einlösung verwendet wird (Produktauswahl statt festem Slug im Code) Alle Berechnungen (Meilensteine, Fortschrittsanzeige) laufen jetzt komplett über diese Admin-Werte statt über Konstanten im Code. Konto-Plan-Karten in allen 4 Sprachen zeigen die admin-gepflegten Texte live an. Co-Authored-By: Claude Sonnet 5 <[email protected]>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
208d995941
commit
a222d6c96e
+38
-7
@@ -367,21 +367,52 @@ collections:
|
||||
- label: "Kleines Abo"
|
||||
name: klein
|
||||
widget: object
|
||||
fields:
|
||||
fields: &abo-stufe-fields
|
||||
- { label: "Preis pro Monat (€)", name: preis, widget: number, value_type: float, step: 0.01 }
|
||||
- { label: "Rabatt auf jede Bestellung (%)", name: rabattProzent, widget: number, value_type: int, min: 0, max: 100 }
|
||||
- { label: "Aktuell neu buchbar?", name: aktiv, widget: boolean, default: true, hint: "Aus: Diese Stufe erscheint im Konto ausgegraut und kann nicht neu abgeschlossen werden. Bestehende Kund:innen dieser Stufe behalten trotzdem alle Vorteile." }
|
||||
- { label: "Kleiner Teddy: alle wie viele Monate?", name: kleinIntervallMonate, widget: number, value_type: int, min: 0, required: false, hint: "0 oder leer lassen = diese Stufe vergibt gar keinen kleinen Teddy." }
|
||||
- { label: "Großer Teddy: alle wie viele Monate?", name: grossIntervallMonate, widget: number, value_type: int, min: 0, required: false, hint: "0 oder leer lassen = diese Stufe vergibt gar keinen großen Teddy." }
|
||||
- label: "Name der Stufe"
|
||||
name: name
|
||||
widget: object
|
||||
fields:
|
||||
- { label: Deutsch, name: de, widget: string }
|
||||
- { label: Englisch, name: en, widget: string }
|
||||
- { label: "Schweizerdeutsch", name: ch, widget: string }
|
||||
- { label: Französisch, name: fr, widget: string }
|
||||
- label: "Vorteilstext (erscheint auf der Plan-Karte im Kundenkonto)"
|
||||
name: vorteil
|
||||
widget: object
|
||||
fields:
|
||||
- { label: Deutsch, name: de, widget: text }
|
||||
- { label: Englisch, name: en, widget: text }
|
||||
- { label: "Schweizerdeutsch", name: ch, widget: text }
|
||||
- { label: Französisch, name: fr, widget: text }
|
||||
- label: "Mittleres Abo"
|
||||
name: mittel
|
||||
widget: object
|
||||
fields:
|
||||
- { label: "Preis pro Monat (€)", name: preis, widget: number, value_type: float, step: 0.01 }
|
||||
- { label: "Rabatt auf jede Bestellung (%)", name: rabattProzent, widget: number, value_type: int, min: 0, max: 100 }
|
||||
fields: *abo-stufe-fields
|
||||
- label: "Großes Abo"
|
||||
name: gross
|
||||
widget: object
|
||||
fields:
|
||||
- { label: "Preis pro Monat (€)", name: preis, widget: number, value_type: float, step: 0.01 }
|
||||
- { label: "Rabatt auf jede Bestellung (%)", name: rabattProzent, widget: number, value_type: int, min: 0, max: 100 }
|
||||
fields: *abo-stufe-fields
|
||||
- label: "Welches Produkt ist der 'kleine Teddy'?"
|
||||
name: kleinTeddySlug
|
||||
widget: relation
|
||||
collection: products
|
||||
search_fields: ["name.de"]
|
||||
value_field: "slug"
|
||||
display_fields: ["name.de"]
|
||||
hint: "Dieses Produkt wird kostenlos in den Warenkorb gelegt, sobald jemand eine 'kleiner Teddy'-Prämie einlöst."
|
||||
- label: "Welches Produkt ist der 'große Teddy'?"
|
||||
name: grossTeddySlug
|
||||
widget: relation
|
||||
collection: products
|
||||
search_fields: ["name.de"]
|
||||
value_field: "slug"
|
||||
display_fields: ["name.de"]
|
||||
hint: "Dieses Produkt wird kostenlos in den Warenkorb gelegt, sobald jemand eine 'großer Teddy'-Prämie einlöst."
|
||||
- label: "Abo-Rabatt mit anderen Rabatten kombinierbar (Gutschein/Partnercode/Treuebonus)?"
|
||||
name: kombinierbarMitAnderenRabatten
|
||||
widget: boolean
|
||||
|
||||
Reference in New Issue
Block a user