Adminbereich für VanVan: Produkte/Kategorien als bearbeitbare JSON-Dateien + Sveltia-CMS-Login unter /admin/
This commit is contained in:
@@ -0,0 +1,145 @@
|
||||
backend:
|
||||
name: github
|
||||
repo: vans-diy-bastelbedarf/website
|
||||
branch: main
|
||||
base_url: https://vans-diy-bastelbedarf-cms-auth.dogfather1608.workers.dev
|
||||
|
||||
# Bilder, die VanVan hier hochlädt, landen automatisch hier im Projekt und sind danach
|
||||
# unter /img/products/<dateiname> auf der Website erreichbar.
|
||||
media_folder: "public/img/products"
|
||||
public_folder: "/img/products"
|
||||
|
||||
locale: de
|
||||
|
||||
collections:
|
||||
- name: products
|
||||
label: Produkte
|
||||
label_singular: Produkt
|
||||
folder: src/content/products
|
||||
create: true
|
||||
delete: true
|
||||
slug: "{{fields.slug}}"
|
||||
identifier_field: slug
|
||||
extension: json
|
||||
format: json
|
||||
summary: "{{name.de}} — {{preis}} €"
|
||||
fields:
|
||||
- label: "Interner Code (URL) — nach Veröffentlichung nicht mehr ändern!"
|
||||
name: slug
|
||||
widget: string
|
||||
hint: "Nur Kleinbuchstaben, Zahlen und Bindestriche, z.B. wolke-plushie-lavendel"
|
||||
- label: Name
|
||||
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: Artikelnummer
|
||||
name: artikelnummer
|
||||
widget: string
|
||||
required: false
|
||||
- label: Kategorie
|
||||
name: kategorie
|
||||
widget: relation
|
||||
collection: categories
|
||||
search_fields: ["name.de"]
|
||||
value_field: "slug"
|
||||
display_fields: ["name.de"]
|
||||
- { label: "Preis (in Euro)", name: preis, widget: number, value_type: float, step: 0.01 }
|
||||
- label: "Alter Preis (nur ausfüllen, wenn im Sale)"
|
||||
name: preisAlt
|
||||
widget: number
|
||||
value_type: float
|
||||
step: 0.01
|
||||
required: false
|
||||
- { label: "Bestand (Anzahl auf Lager)", name: bestand, widget: number, value_type: int }
|
||||
- label: Beschreibung
|
||||
name: beschreibung
|
||||
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: Material, name: material, widget: string, required: false }
|
||||
- { label: "Größe / Maße", name: groesse, widget: string, required: false }
|
||||
- label: Farben
|
||||
name: farben
|
||||
widget: list
|
||||
required: false
|
||||
hint: "Eine Farbe pro Zeile, z.B. Lavendel"
|
||||
- { label: Lieferumfang, name: lieferumfang, widget: string, required: false }
|
||||
- { label: Pflegehinweise, name: pflegehinweise, widget: string, required: false }
|
||||
- { label: Lieferzeit, name: lieferzeit, widget: string, required: false }
|
||||
- label: Auszeichnungen
|
||||
name: badges
|
||||
widget: select
|
||||
multiple: true
|
||||
required: false
|
||||
options:
|
||||
- { label: Neu, value: neu }
|
||||
- { label: Bestseller, value: bestseller }
|
||||
- { label: "Im Sale", value: sale }
|
||||
- { label: Handgemacht, value: handgemacht }
|
||||
- label: Fotos
|
||||
name: bilder
|
||||
widget: list
|
||||
required: false
|
||||
field: { label: Foto, name: bild, widget: image }
|
||||
|
||||
- name: categories
|
||||
label: Kategorien
|
||||
label_singular: Kategorie
|
||||
folder: src/content/categories
|
||||
create: true
|
||||
delete: false
|
||||
slug: "{{fields.slug}}"
|
||||
identifier_field: slug
|
||||
extension: json
|
||||
format: json
|
||||
summary: "{{name.de}}"
|
||||
fields:
|
||||
- label: "Interner Code (URL) — nach Veröffentlichung nicht mehr ändern!"
|
||||
name: slug
|
||||
widget: string
|
||||
- label: "Reihenfolge (0 = zuerst)"
|
||||
name: order
|
||||
widget: number
|
||||
value_type: int
|
||||
- label: Name
|
||||
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: Beschreibung
|
||||
name: description
|
||||
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: "Icon (Emoji)"
|
||||
name: icon
|
||||
widget: string
|
||||
hint: "z.B. 🧸"
|
||||
- label: Unterkategorien
|
||||
name: subcategories
|
||||
widget: list
|
||||
required: false
|
||||
summary: "{{fields.name.de}}"
|
||||
fields:
|
||||
- { label: "Interner Code (URL)", name: slug, widget: string }
|
||||
- label: Name
|
||||
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 }
|
||||
Reference in New Issue
Block a user