2021-03-22 15:59:05 +01:00
###############################################################
# 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
2022-11-17 17:01:52 +01:00
label : { de : "Seiten / Inhalte" , en : "Pages / Content" }
2021-03-22 15:59:05 +01:00
# 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
2022-03-20 15:02:40 +01:00
columns :
2022-11-17 17:01:52 +01:00
- source : public
2022-05-25 12:10:29 +02:00
- source : locale
type : flag
2022-11-17 17:01:52 +01:00
- source : path
2021-03-22 15:59:05 +01:00
# Desktop
- type : table
mediaQuery : "(min-width:600px)"
columns :
2022-11-17 17:01:52 +01:00
- source : public
- source : type
2022-05-25 12:10:29 +02:00
- source : locale
type : flag
2022-11-17 17:01:52 +01:00
- source : path
- source : project.general.title
subNavigation :
- name : page
label :
de : Standardseiten
en : Default Pages
muiIcon : book-open-page-variant
defaultSort :
field : "path"
order : "ASC"
views :
- type : simpleList
mediaQuery : "(max-width:599px)"
primaryText : titel
secondaryText : path
tertiaryText : public
columns :
- source : public
filter : true
- source : locale
type : flag
- source : path
- type : table
mediaQuery : "(min-width:600px)"
columns :
- source : public
filter : true
- source : locale
type : flag
- source : path
- source : updateTime
label : { de : "letzte Aktualisierung" , en : "last update" }
type : date
filter :
type : page
2021-03-22 15:59:05 +01:00
2022-06-15 08:26:06 +02:00
tablist :
2022-11-17 17:01:52 +01:00
# meta:
# expand: contentTab
2022-06-15 08:26:06 +02:00
tabs :
- name : general
2022-11-17 17:01:52 +01:00
label : { de : "Allgemein" , en : "General" }
2022-06-15 08:26:06 +02:00
subFields :
2022-11-17 17:01:52 +01:00
- source : public
2022-06-15 08:57:51 +02:00
- source : path
2022-06-15 08:26:06 +02:00
- source : locale
2022-11-17 17:01:52 +01:00
- source : type
2022-06-15 08:26:06 +02:00
- source : tags
- name : meta
2022-11-17 17:01:52 +01:00
label : { de : "Meta" , en : "Meta" }
2022-06-15 08:26:06 +02:00
subFields :
- source : meta
2022-11-17 17:01:52 +01:00
- name : contentTab
label : { de : "Seiteninhalt" , en : "Page Content" }
subFields :
- source : pageBuilder
- name : project
label : { de : "Projektdetails" , en : "Project Details" }
dependsOn :
eval : $.type?.includes("project")
2022-06-16 09:48:18 +02:00
subFields :
2022-11-17 17:01:52 +01:00
- source : project
2022-06-15 08:26:06 +02:00
2021-03-22 15:59:05 +01:00
imageFilter :
xs :
- fit : true
height : 90
width : 90
2022-11-17 17:01:52 +01:00
resampling : "lanczos"
2021-03-22 15:59:05 +01:00
quality : 60
s :
- fit : true
height : 300
width : 300
2022-11-17 17:01:52 +01:00
resampling : "lanczos"
2021-03-22 15:59:05 +01:00
quality : 60
m :
- fit : true
height : 600
width : 600
2022-11-17 17:01:52 +01:00
resampling : "lanczos"
2021-03-22 15:59:05 +01:00
quality : 60
l :
- fit : true
height : 1200
width : 1200
2022-11-17 17:01:52 +01:00
resampling : "lanczos"
2021-03-22 15:59:05 +01:00
quality : 60
xl :
- fit : true
height : 2000
width : 2000
2022-11-17 17:01:52 +01:00
resampling : "lanczos"
2021-03-22 15:59:05 +01:00
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 :
2022-11-17 17:01:52 +01:00
# Liste und Einzeleinträge lesen
2021-03-22 15:59:05 +01:00
get : true
2022-11-17 17:01:52 +01:00
# neuen Eintrag anlegen
2021-03-22 15:59:05 +01:00
post : true
2022-11-17 17:01:52 +01:00
# Eintrag editieren
2021-03-22 15:59:05 +01:00
put : true
2022-11-17 17:01:52 +01:00
# Eintrag löschen
2021-03-22 15:59:05 +01:00
delete : true
2022-11-17 17:01:52 +01:00
# token als Zusatzsicherung gegen Spam, mehr siehe Hook
"token:${PUBLIC_TOKEN}" :
methods :
# Liste und Einzeleinträge lesen
get : false
# neuen Eintrag anlegen
post : false
# Eintrag editieren
put : false
# Eintrag löschen
delete : false
2021-03-22 15:59:05 +01:00
hooks :
post :
2022-11-17 17:01:52 +01:00
create :
2021-03-22 15:59:05 +01:00
type : javascript
2022-11-17 17:01:52 +01:00
file : hooks/content/post_create.js
2021-03-22 15:59:05 +01:00
put :
2022-11-17 17:01:52 +01:00
update :
2021-03-22 15:59:05 +01:00
type : javascript
2022-11-17 17:01:52 +01:00
file : hooks/content/put_update.js
2021-03-22 15:59:05 +01:00
# Feldliste der Kollektion
fields :
2022-11-17 17:01:52 +01:00
# Allgemeine Felder
- name : public
type : boolean
meta :
filter : true
label :
de : Veröffentlicht
en : Public
helperText :
de : Der Inhalt wird auf der Seite angezeigt.
en : This content is displayed on the page.
2022-06-15 08:57:51 +02:00
- name : path
type : string
index : [ single, unique]
meta :
2022-11-17 17:01:52 +01:00
filter : true
2022-06-15 08:57:51 +02:00
label : { de : "Pfad" , en : "Path" }
helperText :
2022-11-17 17:01:52 +01:00
de : "Der Pfad muss eindeutig sein, und zwingend ohne einen Slash (/) beginnen und enden."
2022-06-15 08:57:51 +02:00
en : "The path must be unique and must start and end without a slash (/)."
2022-05-25 12:10:29 +02:00
- !include fields/_locale.yml
2022-11-17 17:01:52 +01:00
- name : type
2022-06-16 09:48:18 +02:00
type : string[]
2022-11-17 17:01:52 +01:00
index : [ single]
2022-06-16 09:48:18 +02:00
meta :
widget : chipArray
2022-11-17 17:01:52 +01:00
filter : true
defaultValue :
eval : |
$navigation?.name ? [$navigation.name] : [ ]
2022-06-16 09:48:18 +02:00
label :
2022-11-17 17:01:52 +01:00
de : Inhaltstyp
en : type of content
autocomplete : true
2022-06-16 09:48:18 +02:00
choices :
2022-11-17 17:01:52 +01:00
- id : page
name :
de : Seite (Standard)
en : Page (Standard)
- id : PageProjects
name :
de : Seite (Projekte)
en : Page (Projects)
- id : project
name :
de : Projekt
en : Project
2022-05-30 16:52:12 +02:00
- name : tags
type : string[]
meta :
2022-11-17 17:01:52 +01:00
widget : chipArray
2022-05-30 16:52:12 +02:00
helperText :
2022-06-16 09:48:18 +02:00
de : "Über die Zuweisung von Schlagworten, können Seiten noch einmal genauer kategorisiert werden."
en : "Pages can be categorized more precisely by assigning keywords."
2022-05-30 16:52:12 +02:00
label :
2022-06-03 10:49:16 +02:00
de : Schlagwort / Tag / Label
en : Kayword / Tag / Label
addAllowed : true
2022-05-30 16:52:12 +02:00
choices :
endpoint : "tags"
mapping :
2022-06-15 08:26:06 +02:00
id : "name"
2022-05-30 16:52:12 +02:00
name : "name"
params :
sort : "name"
2022-06-15 08:26:06 +02:00
2022-11-17 17:01:52 +01:00
# Felder für Meta-Informationen der Seite (Meta-Tags) im Tab "Meta"
2022-06-15 08:26:06 +02:00
- name : meta
type : object
subFields :
- name : metaTitle
type : string
meta :
label : { de : "Titel der Webseite" , en : "Page Title" }
- name : metaDescription
type : string
meta :
label : { de : "Beschreibung der Webseite" , en : "Page Description" }
- name : metaTagRobots
type : string[]
meta :
widget : chipArray
label :
de : Robots
en : Robots
defaultValue : [ ]
autocomplete : true
choices :
- { id : "noindex" , name : "noindex" }
- { id : "index" , name : "index" }
- { id : "follow" , name : "follow" }
- { id : "nofollow" , name : "nofollow" }
- { id : "noimageindex" , name : "noimageindex" }
- { id : "none" , name : "none" }
- { id : "noarchive" , name : "noarchive" }
- { id : "nocache" , name : "nocache" }
- { id : "nosnippet" , name : "nosnippet" }
- { id : "nnavailable_after" , name : "nnavailable_after" }
helperText :
de : "<strong>Noindex</strong>: Weist eine Suchmaschine an, eine Seite nicht zu indizieren.<br/><strong>index</strong>: Weist eine Suchmaschine an, eine Seite zu indizieren. Beachten Sie, dass Sie dieses Meta-Tag nicht hinzufügen müssen; es ist die Voreinstellung.<br/><strong>follow</strong>: Auch wenn die Seite nicht indexiert ist, sollte der Crawler allen Links auf einer Seite folgen und Eigenkapital an die verlinkten Seiten weitergeben.<br/><strong>nofollow</strong>: Weist einen Crawler an, keinen Links auf einer Seite zu folgen oder Link-Equity weiterzugeben.<br/><strong>noimageindex</strong>: Weist einen Crawler an, keine Bilder auf einer Seite zu indizieren.<br/><strong>none</strong>: Entspricht der gleichzeitigen Verwendung der noindex- und nofollow-Tags.<br/><strong>noarchive</strong>: Suchmaschinen sollten keinen zwischengespeicherten Link zu dieser Seite auf einem SERP anzeigen.<br/><strong>nocache</strong>: Wie noarchive, aber nur von Internet Explorer und Firefox verwendet.<br/><strong>nosnippet</strong>: Weist eine Suchmaschine an, kein Snippet dieser Seite (d. h. Meta-Beschreibung) dieser Seite auf einem SERP anzuzeigen.<br/><strong>nnavailable_after</strong>: Suchmaschinen sollen diese Seite nach einem bestimmten Datum nicht mehr indexieren.<br/>"
en : "<strong>Noindex</strong>: Tells a search engine not to index a page.<br/><strong>index</strong>: Tells a search engine to index a page. Note that you don’ t need to add this meta tag; it’ s the default.<br/><strong>follow</strong>: Even if the page isn’ t indexed, the crawler should follow all the links on a page and pass equity to the linked pages.<br/><strong>nofollow</strong>: Tells a crawler not to follow any links on a page or pass along any link equity.<br/><strong>noimageindex</strong>: Tells a crawler not to index any images on a page.<br/><strong>none</strong>: Equivalent to using both the noindex and nofollow tags simultaneously.<br/><strong>noarchive</strong>: Search engines should not show a cached link to this page on a SERP.<br/><strong>nocache</strong>: Same as noarchive, but only used by Internet Explorer and Firefox.<br/><strong>nosnippet</strong>: Tells a search engine not to show a snippet of this page (i.e. meta description) of this page on a SERP.<br/><strong>nnavailable_after</strong>: Search engines should no longer index this page after a particular date.<br/>"
- name : metaKeywords
type : string
meta :
label : { de : "SEO / Schlüsselwörter" , en : "SEO / Keywords" }
helperText :
de : "Beispiel: Stichwort1, Stichwort2, Stichwort3"
en : "Example: keyword1, keyword2, keyword3"
2022-11-17 17:01:52 +01:00
# Page Builder im Tab "Seiteninhalt"
- !include fields/pageBuilder.yml