165 lines
4.5 KiB
YAML
165 lines
4.5 KiB
YAML
###############################################################
|
|
# Content Blöcke
|
|
###############################################################
|
|
|
|
# Name/URL-Anteil der Kollektion
|
|
name: content
|
|
uploadPath: ../media/content
|
|
|
|
# Metaangaben zur Kollektion welche in der Admin-UI verwendet werden können
|
|
meta:
|
|
# Navigationseintrag in der Admin-UI
|
|
label: { de: "Inhaltsblöcke", en: "Content Blocks" }
|
|
# Icon (Material UI) für den Navigationseintrag
|
|
muiIcon: web
|
|
# Identifizierung eines Eintrags für z.B. Select-Boxen in der Admin-UI
|
|
rowIdentTpl: { twig: "{{ path }}" }
|
|
# Standardsortierung der Liste
|
|
defaultSort: { field: "path", order: "ASC" }
|
|
# Admin-Backend Ansichten
|
|
defaultImageFilter: s
|
|
views:
|
|
# Mobile Darstellung
|
|
- type: simpleList
|
|
mediaQuery: "(max-width:599px)"
|
|
primaryText: path
|
|
# Desktop
|
|
- type: table
|
|
mediaQuery: "(min-width:600px)"
|
|
columns:
|
|
- path
|
|
|
|
imageFilter:
|
|
xs:
|
|
- fit: true
|
|
height: 90
|
|
width: 90
|
|
resampling: lanczos
|
|
quality: 60
|
|
s:
|
|
- fit: true
|
|
height: 300
|
|
width: 300
|
|
resampling: lanczos
|
|
quality: 60
|
|
m:
|
|
- fit: true
|
|
height: 600
|
|
width: 600
|
|
resampling: lanczos
|
|
quality: 60
|
|
l:
|
|
- fit: true
|
|
height: 1200
|
|
width: 1200
|
|
resampling: lanczos
|
|
quality: 60
|
|
xl:
|
|
- fit: true
|
|
height: 2000
|
|
width: 2000
|
|
resampling: lanczos
|
|
quality: 60
|
|
|
|
# Zugriff auf diese Kollektion
|
|
permissions:
|
|
# öffentlicher Zugriff
|
|
public:
|
|
methods:
|
|
# Liste und Einzeleinträge lesen
|
|
get: true
|
|
# neuen Eintrag anlegen
|
|
post: false
|
|
# Eintrag editieren
|
|
put: false
|
|
# Eintrag löschen
|
|
delete: false
|
|
# zum Projekt zugeordneter Benutzer ohne Zusatzberechtigungen
|
|
user:
|
|
methods:
|
|
get: true
|
|
post: true
|
|
put: true
|
|
delete: true
|
|
|
|
hooks:
|
|
post:
|
|
return:
|
|
type: javascript
|
|
file: hooks/content/post_return.js
|
|
put:
|
|
return:
|
|
type: javascript
|
|
file: hooks/content/put_return.js
|
|
delete:
|
|
return:
|
|
type: javascript
|
|
file: hooks/content/delete_return.js
|
|
|
|
# Feldliste der Kollektion
|
|
fields:
|
|
- name: path
|
|
type: string
|
|
index: [ single, unique ]
|
|
meta:
|
|
label: { de: "Pfad", en: "Path" }
|
|
|
|
- name: blocks
|
|
type: object[]
|
|
meta:
|
|
label: { de: "Oben", en: "Top" }
|
|
subFields:
|
|
- name: layout
|
|
type: number
|
|
meta:
|
|
widget: select
|
|
label: { de: "Layout", en: "layout" }
|
|
choices:
|
|
- { id: 1, name: { de: "Bild links", en: "image left" } }
|
|
- { id: 2, name: { de: "Bild rechts", en: "image right" } }
|
|
- {
|
|
id: 3,
|
|
name:
|
|
{ de: "Bild über Text", en: "image above text" },
|
|
}
|
|
- {
|
|
id: 4,
|
|
name:
|
|
{ de: "Bild unter Text", en: "image below text" },
|
|
}
|
|
- name: title
|
|
type: string
|
|
meta:
|
|
label: { de: "Titel", en: "title" }
|
|
- name: subtitle
|
|
type: string
|
|
meta:
|
|
label: { de: "Untertitel", en: "subtitle" }
|
|
- name: text
|
|
type: string
|
|
meta:
|
|
widget: richtext
|
|
label: { de: "Text", en: "text" }
|
|
- name: button_text
|
|
type: string
|
|
meta:
|
|
label: { de: "Button-Text", en: "button text" }
|
|
- name: button_url
|
|
type: string
|
|
meta:
|
|
label: { de: "Button-URL", en: "button URL" }
|
|
- name: images
|
|
type: object[]
|
|
meta:
|
|
label: { de: "Bild(er)", en: "image(s)" }
|
|
subFields:
|
|
- name: file
|
|
type: file
|
|
meta:
|
|
widget: image
|
|
label: { de: "Datei", en: "file" }
|
|
- name: label
|
|
type: string
|
|
meta:
|
|
label: { de: "Label", en: "label" }
|