Neue Collections für Navigations und Sprachen angelegt. MediaLib erstmal aus Config entfernt. Unbenutzte Files entfernt.

This commit is contained in:
Mario Linz 2022-05-13 15:06:32 +02:00
parent eedb794251
commit d0c6ad4092
7 changed files with 482 additions and 108 deletions

View File

@ -104,4 +104,4 @@ permissions:
# file: hooks/article/delete_return.js
fields:
- !include _article.yml
- !include fields/_article.yml

View File

@ -100,9 +100,13 @@ hooks:
# Feldliste der Kollektion
fields:
- name: name
type: string
meta:
label: { de: "Name der Page (optional)", en: "Page Name (optional)" }
- name: path
type: string
index: [ single, unique ]
index: [single, unique]
meta:
label: { de: "Pfad", en: "Path" }
- name: blocks
@ -110,4 +114,4 @@ fields:
meta:
label: { de: "Artikel dieser Seite", en: "Page Articles" }
subFields:
- !include _article.yml
- !include fields/_article.yml

View File

@ -105,6 +105,22 @@ subFields:
type: string
meta:
label: { de: "Untertitel", en: "Subtitle" }
- name: panel1
type: object
meta:
widget: panel
label: { de: "Test Panel", en: "Test Panel" }
subFields:
- name: radioGroup1
type: string[]
meta:
widget: radioGroup
label: { de: "Radio Button Group", en: "Radio Button Group" }
defaultValue: ["r2"]
choices:
- { id: "r1", name: { de: "Radio 1", en: "" } }
- { id: "r2", name: { de: "Noch ein Radio 2", en: "" } }
- { id: "r3", name: { de: "R 3", en: "" } }
- name: types
type: object
meta:
@ -112,18 +128,28 @@ subFields:
label:
de: Inhalt dieses Artikel
en: Article Content
activeTab: 0
activeTab: 1
subFields:
- name: teaser
type: string
meta:
widget: richtext
label: { de: "Teaser-Text des Artikel", en: "Article Teaser Text" }
- name: teaserContent
type: string
meta:
widget: uiContentBuilder
label: { de: "Teaser-Inhalt", en: "Article Teaser Content" }
- name: details
type: string
meta:
widget: richtext
label: { de: "Detail-Text des Artikel", en: "Article Detail Text" }
- name: detailsContent
type: string
meta:
widget: uiContentBuilder
label: { de: "Details-Inhalt", en: "Article Details Content" }
- name: contentMedia
type: object
meta:

View File

@ -0,0 +1,241 @@
name: locale
type: string
meta:
widget: select
label: { de: "Gebietsschema", en: "Locale" }
helperText:
{
de: "Definiert, in welcher Sprache das Menü verfügbar ist. Die Standard-Sprache ist 'de-DE'.",
en: "Defines in which language the menu is available. The default language is 'de-DE'.",
}
filter: true
defaultValue: "de-DE"
choices:
- { id: af, name: { key: "labels.locales.af" } }
- { id: af-ZA, name: { key: "labels.locales.af-ZA" } }
- { id: ar, name: { key: "labels.locales.ar" } }
- { id: ar-AE, name: { key: "labels.locales.ar-AE" } }
- { id: ar-BH, name: { key: "labels.locales.ar-BH" } }
- { id: ar-DZ, name: { key: "labels.locales.ar-DZ" } }
- { id: ar-EG, name: { key: "labels.locales.ar-EG" } }
- { id: ar-IQ, name: { key: "labels.locales.ar-IQ" } }
- { id: ar-JO, name: { key: "labels.locales.ar-JO" } }
- { id: ar-KW, name: { key: "labels.locales.ar-KW" } }
- { id: ar-LB, name: { key: "labels.locales.ar-LB" } }
- { id: ar-LY, name: { key: "labels.locales.ar-LY" } }
- { id: ar-MA, name: { key: "labels.locales.ar-MA" } }
- { id: ar-OM, name: { key: "labels.locales.ar-OM" } }
- { id: ar-QA, name: { key: "labels.locales.ar-QA" } }
- { id: ar-SA, name: { key: "labels.locales.ar-SA" } }
- { id: ar-SY, name: { key: "labels.locales.ar-SY" } }
- { id: ar-TN, name: { key: "labels.locales.ar-TN" } }
- { id: ar-YE, name: { key: "labels.locales.ar-YE" } }
- { id: az, name: { key: "labels.locales.az" } }
- { id: az-AZ, name: { key: "labels.locales.az-AZ" } }
- { id: be, name: { key: "labels.locales.be" } }
- { id: be-BY, name: { key: "labels.locales.be-BY" } }
- { id: bg, name: { key: "labels.locales.bg" } }
- { id: bg-BG, name: { key: "labels.locales.bg-BG" } }
- { id: bs-BA, name: { key: "labels.locales.bs-BA" } }
- { id: ca, name: { key: "labels.locales.ca" } }
- { id: ca-ES, name: { key: "labels.locales.ca-ES" } }
- { id: cs, name: { key: "labels.locales.cs" } }
- { id: cs-CZ, name: { key: "labels.locales.cs-CZ" } }
- { id: cy, name: { key: "labels.locales.cy" } }
- { id: cy-GB, name: { key: "labels.locales.cy-GB" } }
- { id: da, name: { key: "labels.locales.da" } }
- { id: da-DK, name: { key: "labels.locales.da-DK" } }
- { id: de, name: { key: "labels.locales.de" } }
- { id: de-AT, name: { key: "labels.locales.de-AT" } }
- { id: de-CH, name: { key: "labels.locales.de-CH" } }
- { id: de-DE, name: { key: "labels.locales.de-DE" } }
- { id: de-LI, name: { key: "labels.locales.de-LI" } }
- { id: de-LU, name: { key: "labels.locales.de-LU" } }
- { id: dv, name: { key: "labels.locales.dv" } }
- { id: dv-MV, name: { key: "labels.locales.dv-MV" } }
- { id: el, name: { key: "labels.locales.el" } }
- { id: el-GR, name: { key: "labels.locales.el-GR" } }
- { id: en, name: { key: "labels.locales.en" } }
- { id: en-AU, name: { key: "labels.locales.en-AU" } }
- { id: en-BZ, name: { key: "labels.locales.en-BZ" } }
- { id: en-CA, name: { key: "labels.locales.en-CA" } }
- { id: en-CB, name: { key: "labels.locales.en-CB" } }
- { id: en-GB, name: { key: "labels.locales.en-GB" } }
- { id: en-IE, name: { key: "labels.locales.en-IE" } }
- { id: en-JM, name: { key: "labels.locales.en-JM" } }
- { id: en-NZ, name: { key: "labels.locales.en-NZ" } }
- { id: en-PH, name: { key: "labels.locales.en-PH" } }
- { id: en-TT, name: { key: "labels.locales.en-TT" } }
- { id: en-US, name: { key: "labels.locales.en-US" } }
- { id: en-ZA, name: { key: "labels.locales.en-ZA" } }
- { id: en-ZW, name: { key: "labels.locales.en-ZW" } }
- { id: eo, name: { key: "labels.locales.eo" } }
- { id: es, name: { key: "labels.locales.es" } }
- { id: es-AR, name: { key: "labels.locales.es-AR" } }
- { id: es-BO, name: { key: "labels.locales.es-BO" } }
- { id: es-CL, name: { key: "labels.locales.es-CL" } }
- { id: es-CO, name: { key: "labels.locales.es-CO" } }
- { id: es-CR, name: { key: "labels.locales.es-CR" } }
- { id: es-DO, name: { key: "labels.locales.es-DO" } }
- { id: es-EC, name: { key: "labels.locales.es-EC" } }
- { id: es-ES, name: { key: "labels.locales.es-ES" } }
- { id: es-GT, name: { key: "labels.locales.es-GT" } }
- { id: es-HN, name: { key: "labels.locales.es-HN" } }
- { id: es-MX, name: { key: "labels.locales.es-MX" } }
- { id: es-NI, name: { key: "labels.locales.es-NI" } }
- { id: es-PA, name: { key: "labels.locales.es-PA" } }
- { id: es-PE, name: { key: "labels.locales.es-PE" } }
- { id: es-PR, name: { key: "labels.locales.es-PR" } }
- { id: es-PY, name: { key: "labels.locales.es-PY" } }
- { id: es-SV, name: { key: "labels.locales.es-SV" } }
- { id: es-UY, name: { key: "labels.locales.es-UY" } }
- { id: es-VE, name: { key: "labels.locales.es-VE" } }
- { id: et, name: { key: "labels.locales.et" } }
- { id: et-EE, name: { key: "labels.locales.et-EE" } }
- { id: eu, name: { key: "labels.locales.eu" } }
- { id: eu-ES, name: { key: "labels.locales.eu-ES" } }
- { id: fa, name: { key: "labels.locales.fa" } }
- { id: fa-IR, name: { key: "labels.locales.fa-IR" } }
- { id: fi, name: { key: "labels.locales.fi" } }
- { id: fi-FI, name: { key: "labels.locales.fi-FI" } }
- { id: fo, name: { key: "labels.locales.fo" } }
- { id: fo-FO, name: { key: "labels.locales.fo-FO" } }
- { id: fr, name: { key: "labels.locales.fr" } }
- { id: fr-BE, name: { key: "labels.locales.fr-BE" } }
- { id: fr-CA, name: { key: "labels.locales.fr-CA" } }
- { id: fr-CH, name: { key: "labels.locales.fr-CH" } }
- { id: fr-FR, name: { key: "labels.locales.fr-FR" } }
- { id: fr-LU, name: { key: "labels.locales.fr-LU" } }
- { id: fr-MC, name: { key: "labels.locales.fr-MC" } }
- { id: gl, name: { key: "labels.locales.gl" } }
- { id: gl-ES, name: { key: "labels.locales.gl-ES" } }
- { id: gu, name: { key: "labels.locales.gu" } }
- { id: gu-IN, name: { key: "labels.locales.gu-IN" } }
- { id: he, name: { key: "labels.locales.he" } }
- { id: he-IL, name: { key: "labels.locales.he-IL" } }
- { id: hi, name: { key: "labels.locales.hi" } }
- { id: hi-IN, name: { key: "labels.locales.hi-IN" } }
- { id: hr, name: { key: "labels.locales.hr" } }
- { id: hr-BA, name: { key: "labels.locales.hr-BA" } }
- { id: hr-HR, name: { key: "labels.locales.hr-HR" } }
- { id: hu, name: { key: "labels.locales.hu" } }
- { id: hu-HU, name: { key: "labels.locales.hu-HU" } }
- { id: hy, name: { key: "labels.locales.hy" } }
- { id: hy-AM, name: { key: "labels.locales.hy-AM" } }
- { id: id, name: { key: "labels.locales.id" } }
- { id: id-ID, name: { key: "labels.locales.id-ID" } }
- { id: is, name: { key: "labels.locales.is" } }
- { id: is-IS, name: { key: "labels.locales.is-IS" } }
- { id: it, name: { key: "labels.locales.it" } }
- { id: it-CH, name: { key: "labels.locales.it-CH" } }
- { id: it-IT, name: { key: "labels.locales.it-IT" } }
- { id: ja, name: { key: "labels.locales.ja" } }
- { id: ja-JP, name: { key: "labels.locales.ja-JP" } }
- { id: ka, name: { key: "labels.locales.ka" } }
- { id: ka-GE, name: { key: "labels.locales.ka-GE" } }
- { id: kk, name: { key: "labels.locales.kk" } }
- { id: kk-KZ, name: { key: "labels.locales.kk-KZ" } }
- { id: kn, name: { key: "labels.locales.kn" } }
- { id: kn-IN, name: { key: "labels.locales.kn-IN" } }
- { id: ko, name: { key: "labels.locales.ko" } }
- { id: ko-KR, name: { key: "labels.locales.ko-KR" } }
- { id: kok, name: { key: "labels.locales.kok" } }
- { id: kok-IN, name: { key: "labels.locales.kok-IN" } }
- { id: ky, name: { key: "labels.locales.ky" } }
- { id: ky-KG, name: { key: "labels.locales.ky-KG" } }
- { id: lt, name: { key: "labels.locales.lt" } }
- { id: lt-LT, name: { key: "labels.locales.lt-LT" } }
- { id: lv, name: { key: "labels.locales.lv" } }
- { id: lv-LV, name: { key: "labels.locales.lv-LV" } }
- { id: mi, name: { key: "labels.locales.mi" } }
- { id: mi-NZ, name: { key: "labels.locales.mi-NZ" } }
- { id: mk, name: { key: "labels.locales.mk" } }
- { id: mk-MK, name: { key: "labels.locales.mk-MK" } }
- { id: mn, name: { key: "labels.locales.mn" } }
- { id: mn-MN, name: { key: "labels.locales.mn-MN" } }
- { id: mr, name: { key: "labels.locales.mr" } }
- { id: mr-IN, name: { key: "labels.locales.mr-IN" } }
- { id: ms, name: { key: "labels.locales.ms" } }
- { id: ms-BN, name: { key: "labels.locales.ms-BN" } }
- { id: ms-MY, name: { key: "labels.locales.ms-MY" } }
- { id: mt, name: { key: "labels.locales.mt" } }
- { id: mt-MT, name: { key: "labels.locales.mt-MT" } }
- { id: nb, name: { key: "labels.locales.nb" } }
- { id: nb-NO, name: { key: "labels.locales.nb-NO" } }
- { id: nl, name: { key: "labels.locales.nl" } }
- { id: nl-BE, name: { key: "labels.locales.nl-BE" } }
- { id: nl-NL, name: { key: "labels.locales.nl-NL" } }
- { id: nn-NO, name: { key: "labels.locales.nn-NO" } }
- { id: ns, name: { key: "labels.locales.ns" } }
- { id: ns-ZA, name: { key: "labels.locales.ns-ZA" } }
- { id: pa, name: { key: "labels.locales.pa" } }
- { id: pa-IN, name: { key: "labels.locales.pa-IN" } }
- { id: pl, name: { key: "labels.locales.pl" } }
- { id: pl-PL, name: { key: "labels.locales.pl-PL" } }
- { id: ps, name: { key: "labels.locales.ps" } }
- { id: ps-AR, name: { key: "labels.locales.ps-AR" } }
- { id: pt, name: { key: "labels.locales.pt" } }
- { id: pt-BR, name: { key: "labels.locales.pt-BR" } }
- { id: pt-PT, name: { key: "labels.locales.pt-PT" } }
- { id: qu, name: { key: "labels.locales.qu" } }
- { id: qu-BO, name: { key: "labels.locales.qu-BO" } }
- { id: qu-EC, name: { key: "labels.locales.qu-EC" } }
- { id: qu-PE, name: { key: "labels.locales.qu-PE" } }
- { id: ro, name: { key: "labels.locales.ro" } }
- { id: ro-RO, name: { key: "labels.locales.ro-RO" } }
- { id: ru, name: { key: "labels.locales.ru" } }
- { id: ru-RU, name: { key: "labels.locales.ru-RU" } }
- { id: sa, name: { key: "labels.locales.sa" } }
- { id: sa-IN, name: { key: "labels.locales.sa-IN" } }
- { id: se, name: { key: "labels.locales.se" } }
- { id: se-FI, name: { key: "labels.locales.se-FI" } }
- { id: se-NO, name: { key: "labels.locales.se-NO" } }
- { id: se-SE, name: { key: "labels.locales.se-SE" } }
- { id: sk, name: { key: "labels.locales.sk" } }
- { id: sk-SK, name: { key: "labels.locales.sk-SK" } }
- { id: sl, name: { key: "labels.locales.sl" } }
- { id: sl-SI, name: { key: "labels.locales.sl-SI" } }
- { id: sq, name: { key: "labels.locales.sq" } }
- { id: sq-AL, name: { key: "labels.locales.sq-AL" } }
- { id: sr-BA, name: { key: "labels.locales.sr-BA" } }
- { id: sr-SP, name: { key: "labels.locales.sr-SP" } }
- { id: sv, name: { key: "labels.locales.sv" } }
- { id: sv-FI, name: { key: "labels.locales.sv-FI" } }
- { id: sv-SE, name: { key: "labels.locales.sv-SE" } }
- { id: sw, name: { key: "labels.locales.sw" } }
- { id: sw-KE, name: { key: "labels.locales.sw-KE" } }
- { id: syr, name: { key: "labels.locales.syr" } }
- { id: syr-SY, name: { key: "labels.locales.syr-SY" } }
- { id: ta, name: { key: "labels.locales.ta" } }
- { id: ta-IN, name: { key: "labels.locales.ta-IN" } }
- { id: te, name: { key: "labels.locales.te" } }
- { id: te-IN, name: { key: "labels.locales.te-IN" } }
- { id: th, name: { key: "labels.locales.th" } }
- { id: th-TH, name: { key: "labels.locales.th-TH" } }
- { id: tl, name: { key: "labels.locales.tl" } }
- { id: tl-PH, name: { key: "labels.locales.tl-PH" } }
- { id: tn, name: { key: "labels.locales.tn" } }
- { id: tn-ZA, name: { key: "labels.locales.tn-ZA" } }
- { id: tr, name: { key: "labels.locales.tr" } }
- { id: tr-TR, name: { key: "labels.locales.tr-TR" } }
- { id: tt, name: { key: "labels.locales.tt" } }
- { id: tt-RU, name: { key: "labels.locales.tt-RU" } }
- { id: ts, name: { key: "labels.locales.ts" } }
- { id: uk, name: { key: "labels.locales.uk" } }
- { id: uk-UA, name: { key: "labels.locales.uk-UA" } }
- { id: ur, name: { key: "labels.locales.ur" } }
- { id: ur-PK, name: { key: "labels.locales.ur-PK" } }
- { id: uz, name: { key: "labels.locales.uz" } }
- { id: uz-UZ, name: { key: "labels.locales.uz-UZ" } }
- { id: vi, name: { key: "labels.locales.vi" } }
- { id: vi-VN, name: { key: "labels.locales.vi-VN" } }
- { id: xh, name: { key: "labels.locales.xh" } }
- { id: xh-ZA, name: { key: "labels.locales.xh-ZA" } }
- { id: zh, name: { key: "labels.locales.zh" } }
- { id: zh-CN, name: { key: "labels.locales.zh-CN" } }
- { id: zh-HK, name: { key: "labels.locales.zh-HK" } }
- { id: zh-MO, name: { key: "labels.locales.zh-MO" } }
- { id: zh-SG, name: { key: "labels.locales.zh-SG" } }
- { id: zh-TW, name: { key: "labels.locales.zh-TW" } }
- { id: zu, name: { key: "labels.locales.zu" } }
- { id: zu-ZA, name: { key: "labels.locales.zu-ZA" } }

View File

@ -0,0 +1,206 @@
###############################################################
# Media Library
###############################################################
# Name/URL-Anteil der Kollektion
name: navigation
uploadPath: ../media/navigation
# Metaangaben zur Kollektion welche in der Admin-UI verwendet werden können
meta:
# Navigationseintrag in der Admin-UI
label: { de: "Navigation", en: "Navigation" }
# Icon (Material UI) für den Navigationseintrag
muiIcon: file-tree
# Identifizierung eines Eintrags für z.B. Select-Boxen in der Admin-UI
rowIdentTpl: { twig: "{{ path }}" }
# Standardsortierung der Liste
defaultSort: { field: "id", order: "ASC" }
# Admin-Backend Ansichten
defaultImageFilter: s
views:
- type: simpleList
mediaQuery: "(max-width:599px)"
primaryText: ident
secondaryText: locale
- type: table
mediaQuery: "(min-width:600px)"
columns:
- ident
- locale
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
permissions:
public:
methods:
get: true
post: false
put: false
delete: false
user:
methods:
get: true
post: false
put: false
delete: false
# token als Zusatzsicherung gegen Spam, mehr siehe Hook
"token:${PUBLIC_TOKEN}":
methods:
get: false
post: false
put: false
delete: false
# Field References
x-title: &title
name: title
type: string
meta:
label: { de: "Titel", en: "Title" }
helperText:
{
de: "Der Titel des Navigationspunkts wird auf der Webseite angezeigt.",
en: "The title of the navigation point is displayed on the page.",
}
x-settings: &settings
name: settings
type: object
meta:
widget: tabs
activeTab: 0
x-page: &page
name: page
type: string
meta:
widget: select
label: { de: Seite, en: "Page" }
choices:
endpoint: "content"
mapping:
id: "id"
name: "path"
params:
count: 1
sort: "ASC"
query: ""
x-url: &url
name: url
type: object
meta:
label: { de: "Link", en: "Link" }
subFields:
- name: url
type: string
meta:
label: { de: "Ziel-URL", en: "Target URL" }
helperText:
{
de: "Definiert eine interne oder externe URL, zu dieser bei Klick auf den Navigationspunkt, gesprungen wird.",
en: "Defines an internal or external URL to which a jump is made when the navigation point is clicked.",
}
inputProps:
type: "url"
- name: target
type: string
meta:
widget: select
label: { de: Zielfenster, en: Target }
defaultValue: "_self"
choices:
- { id: "_self", name: "Gleicher Tab oder Seite (Standardwert)" }
- { id: "_blank", name: "Neuer Tab oder Fenster" }
- { id: "_parent", name: "Elternfenster" }
x-items: &items
name: items
type: object[]
meta:
collapse: { titleFieldName: "settings.title" }
label: { de: "Navigationspunkte", en: "Navigation Points" }
helperText:
{
de: "Definition aller Navigationspunkte für diese Navigation",
en: "Definition of all navigation points for this navigation",
}
# Feldliste der Kollektion
fields:
- name: ident
type: string
meta:
widget: select
choices:
- id: main
name:
de: Hauptnavigation
en: Main Navigation
- id: service
name:
de: Servicenavigation
en: Servicen Navigation
- !include fields/_locale.yml
- <<: *items
subFields:
- <<: *settings
subFields:
- *title
- *page
- *url
- <<: *items
subFields:
- <<: *settings
subFields:
- *title
- *page
- *url
- <<: *items
subFields:
- <<: *settings
subFields:
- *title
- *page
- *url
indexes:
- unique: true
key:
- ident
- locale

View File

@ -1,103 +0,0 @@
########################################################################
# Articles
########################################################################
name: prototype_articles
uploadPath: ../media/prototype_articles
meta:
# Navigationseintrag in der Admin-UI
label: { de: "PROTOTYPE TEST - Artikel auf der Seite", en: "PROTOTYPE TEST -Page articles" }
# Icon (Material UI) für den Navigationseintrag
muiIcon: file-document-edit-outline
# Standardsortierung der Liste
defaultSort: { field: "article.general.sort", order: "ASC" }
# Admin-Backend Ansichten
defaultImageFilter: s
views:
# Mobile Darstellung
- type: simpleList
mediaQuery: "(max-width:599px)"
primaryText: path
columns:
- article.general.public
- article.content.title
- article.general.position
- article.general.sort
# Desktop
- type: table
mediaQuery: "(min-width:600px)"
columns:
- article.general.public
- article.content.title
- article.general.position
- article.general.sort
imageFilter:
xs:
- fit: true
height: 90
width: 90
resampling: "lancos"
quality: 60
s:
- fit: true
height: 300
width: 300
resampling: "lancos"
quality: 60
m:
- fit: true
height: 600
width: 600
resampling: "lancos"
quality: 60
l:
- fit: true
height: 1200
width: 1200
resampling: "lancos"
quality: 60
xl:
- fit: true
height: 2000
width: 2000
resampling: "lancos"
quality: 60
permissions:
public:
methods:
get: true
post: false
put: false
delete: false
user:
methods:
get: true
post: true
put: true
delete: true
# token als Zusatzsicherung gegen Spam, mehr siehe Hook
"token:${PUBLIC_TOKEN}":
methods:
get: false
post: false
put: false
delete: false
# hooks:
# post:
# create:
# type: javascript
# file: hooks/article/post_create.js
# put:
# update:
# type: javascript
# file: hooks/article/put_return.js
# delete:
# return:
# type: javascript
# file: hooks/article/delete_return.js
fields:
- !include fields/_article.yml

View File

@ -8,7 +8,7 @@ meta:
# Liste aller möglichen Kollektionen (Listen, Seiten...) zum Projekt
collections:
- !include collections/general.yml
- !include collections/mediaLibrary.yml
- !include collections/navigation.yml
- !include collections/tags.yml
- !include collections/articles.yml
- !include collections/content.yml