✨ feat: enhance validation rules and improve content structure across collections
This commit is contained in:
+50
-11
@@ -12,7 +12,6 @@ meta:
|
||||
label: name
|
||||
secondary: path
|
||||
tertiary: lang
|
||||
badge: type
|
||||
image: _pagebuilderThumbnail
|
||||
pagebuilder:
|
||||
screenshot:
|
||||
@@ -25,11 +24,15 @@ meta:
|
||||
sidebar:
|
||||
- group: publishing
|
||||
label: { de: "Veröffentlichung", en: "Publishing" }
|
||||
- group: settings
|
||||
label: { de: "Einstellungen", en: "Settings" }
|
||||
- group: seo
|
||||
label: { de: "SEO", en: "SEO" }
|
||||
|
||||
hooks:
|
||||
get:
|
||||
read:
|
||||
type: javascript
|
||||
file: hooks/filter_public.js
|
||||
|
||||
permissions:
|
||||
public:
|
||||
methods:
|
||||
@@ -53,11 +56,30 @@ fields:
|
||||
meta:
|
||||
label: { de: "Aktiv", en: "Active" }
|
||||
position: sidebar:publishing
|
||||
- name: type
|
||||
type: string
|
||||
- name: publication
|
||||
type: object
|
||||
meta:
|
||||
label: { de: "Typ", en: "Type" }
|
||||
position: sidebar:settings
|
||||
label: { de: "Veröffentlichungszeitraum", en: "Publication window" }
|
||||
position: sidebar:publishing
|
||||
drillDown: false
|
||||
widget: containerLessObject
|
||||
subFields:
|
||||
- name: from
|
||||
type: date
|
||||
meta:
|
||||
label: { de: "Von", en: "From" }
|
||||
widget: datetime
|
||||
containerProps:
|
||||
layout:
|
||||
size: col-6
|
||||
- name: to
|
||||
type: date
|
||||
meta:
|
||||
label: { de: "Bis", en: "Until" }
|
||||
widget: datetime
|
||||
containerProps:
|
||||
layout:
|
||||
size: col-6
|
||||
- name: lang
|
||||
type: string
|
||||
meta:
|
||||
@@ -70,23 +92,40 @@ fields:
|
||||
position: sidebar:settings
|
||||
- name: name
|
||||
type: string
|
||||
validator:
|
||||
required: true
|
||||
meta:
|
||||
label: { de: "Name", en: "Name" }
|
||||
helperText:
|
||||
de: "Eindeutiger Name für diese Seite, z.B. 'Startseite'."
|
||||
en: "Unique name for this page, e.g. 'Homepage'."
|
||||
containerProps:
|
||||
layout:
|
||||
size: col-6
|
||||
- name: path
|
||||
type: string
|
||||
validator:
|
||||
pattern: ^\/[a-z0-9\-\/]*$
|
||||
required: true
|
||||
meta:
|
||||
label: { de: "Pfad", en: "Path" }
|
||||
helperText:
|
||||
de: "URL-Pfad für diese Seite, z.B. '/ueber-uns'."
|
||||
en: "URL path for this page, e.g. '/about-us'."
|
||||
containerProps:
|
||||
layout:
|
||||
size: col-6
|
||||
- name: alternativePaths
|
||||
type: object[]
|
||||
meta:
|
||||
label: { de: "Alternative Pfade", en: "Alternative Paths" }
|
||||
position: sidebar:seo
|
||||
widget: containerLessObjectArray
|
||||
subFields:
|
||||
- name: path
|
||||
type: string
|
||||
- name: teaserText
|
||||
type: string
|
||||
meta:
|
||||
label: { de: "Teasertext", en: "Teaser Text" }
|
||||
validator:
|
||||
pattern: ^\/[a-z0-9\-\/]*$
|
||||
- name: _pagebuilderThumbnail
|
||||
type: file
|
||||
meta:
|
||||
|
||||
@@ -89,6 +89,9 @@ imageFilter:
|
||||
fields:
|
||||
- name: file
|
||||
type: file
|
||||
validator:
|
||||
required: true
|
||||
maxFileSize: "50MB"
|
||||
meta:
|
||||
label: { de: "Datei", en: "File" }
|
||||
widget: file
|
||||
@@ -97,6 +100,8 @@ fields:
|
||||
maxHeight: 2048
|
||||
- name: title
|
||||
type: string
|
||||
validator:
|
||||
maxLength: 255
|
||||
meta:
|
||||
label: { de: "Titel", en: "Title" }
|
||||
- name: alt
|
||||
@@ -106,14 +111,20 @@ fields:
|
||||
subFields:
|
||||
- name: de
|
||||
type: string
|
||||
validator:
|
||||
maxLength: 500
|
||||
meta:
|
||||
label: Deutsch
|
||||
- name: en
|
||||
type: string
|
||||
validator:
|
||||
maxLength: 500
|
||||
meta:
|
||||
label: English
|
||||
- name: description
|
||||
type: string
|
||||
validator:
|
||||
maxLength: 2000
|
||||
meta:
|
||||
label: { de: "Beschreibung", en: "Description" }
|
||||
widget: text
|
||||
|
||||
@@ -60,6 +60,9 @@ permissions:
|
||||
fields:
|
||||
- name: language
|
||||
type: string
|
||||
validator:
|
||||
in: ["de", "en"]
|
||||
required: true
|
||||
meta:
|
||||
label: { de: "Sprache", en: "Language" }
|
||||
position: sidebar:settings
|
||||
@@ -71,6 +74,9 @@ fields:
|
||||
name: { de: "Englisch", en: "English" }
|
||||
- name: type
|
||||
type: string
|
||||
validator:
|
||||
in: ["header", "footer"]
|
||||
required: true
|
||||
meta:
|
||||
label: { de: "Typ", en: "Type" }
|
||||
helperText: { de: "header oder footer", en: "header or footer" }
|
||||
@@ -89,6 +95,9 @@ fields:
|
||||
subFields:
|
||||
- name: name
|
||||
type: string
|
||||
validator:
|
||||
required: true
|
||||
maxLength: 100
|
||||
meta:
|
||||
label: { de: "Bezeichnung", en: "Label" }
|
||||
- name: page
|
||||
@@ -105,10 +114,14 @@ fields:
|
||||
label: { de: "Externer Link", en: "External Link" }
|
||||
- name: externalUrl
|
||||
type: string
|
||||
validator:
|
||||
maxLength: 1024
|
||||
meta:
|
||||
label: { de: "Externe URL", en: "External URL" }
|
||||
- name: hash
|
||||
type: string
|
||||
validator:
|
||||
pattern: ^[a-zA-Z0-9_-]+$
|
||||
meta:
|
||||
label: { de: "Anker", en: "Anchor" }
|
||||
- name: elements
|
||||
|
||||
Reference in New Issue
Block a user