name: page uploadPath: ../media/page meta: label: Inhalt muiIcon: tableOfContents allowExportAll: true backup: active: true collectionName: backups defaultSort: field: sort order: MANUALLY views: - type: simpleList selectionPriority: 0 primaryText: pageTitle secondaryText: path mediaQuery: "(min-width: 0px)" tertiaryText: type - type: table selectionPriority: 1 mediaQuery: "(min-width: 700px)" columns: - source: type name: Typ filter: true - source: path name: Pfad filter: true - source: pageTitle name: Titel filter: true - source: active name: Aktiv filter: true tablist: activeTab: general tabs: - name: general label: Allgemein subFields: - source: path - source: pageTitle - source: type - source: active - source: sort - name: teaser label: Homepage Seitenteaser subFields: - source: teaser - name: personPreview label: Personenvorschau subFields: - source: personType - source: personPreview - name: jobOffer label: Job Angebot subFields: - source: jobOffer - name: site label: Seite subFields: - source: rows - name: meta label: Meta subFields: - source: meta subNavigation: - name: seite label: de: Seiten en: pages muiIcon: book-open-page-variant defaultSort: field: "sort" order: "MANUALLY" setDefault: field: type value: page views: - type: table columns: - source: path name: Pfad filter: true - source: pageTitle name: Titel filter: true - source: active name: Aktiv filter: true filter: type: page - name: teamMembers label: de: Teammitglieder en: Team members muiIcon: accountGroup setDefault: field: type value: teamMembers defaultSort: field: "sort" order: "MANUALLY" views: - type: table columns: - source: path name: Pfad fiter: true - source: personType name: Typ filter: true - source: pageTitle name: Titel filter: true - source: active name: Aktiv filter: true filter: type: teamMembers - name: jobOffers label: de: Stellenanzeigen en: Job offers muiIcon: briefcase setDefault: field: type value: jobOffers defaultSort: field: "sort" order: "MANUALLY" views: - type: table columns: - source: path name: Pfad filter: true - source: pageTitle name: Titel filter: true - source: active name: Aktiv filter: true filter: type: jobOffers 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: 1240 width: 1240 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: true put: true delete: true hooks: post: return: type: javascript file: hooks/clear_cache.js put: return: type: javascript file: hooks/clear_cache.js projections: navigation: select: path: 1 fields: - type: string name: path meta: label: Pfad helperText: "Ein Pfad sollte mit einem / starten und ohne eins enden." containerProps: layout: size: default: "col-6" small: "col-12" large: "col-6" - type: boolean name: active meta: label: Aktiv helperText: Ist dies Aktiviert, so wird die Seite verfügbar. defaultValue: true containerProps: layout: size: default: "col-6" small: "col-12" large: "col-6" - type: string name: type meta: label: Inhaltstyp widget: select defaultValue: page containerProps: layout: size: default: "col-6" small: "col-12" large: "col-6" choices: - name: Seite id: page - name: Teammitglieder id: teamMembers - name: Stellenanzeigen id: jobOffers - name: pageTitle type: string meta: label: Titel der Seite helperText: "Dieser Titel wird in der Seite als h1 angezeigt." containerProps: layout: size: default: "col-6" small: "col-12" large: "col-6" - name: personType type: string meta: label: Typ widget: select defaultValue: chef dependsOn: eval: $.type == "teamMembers" choices: - name: Chef id: chef - name: Mitarbeiter id: employee - name: personPreview type: object meta: label: Personenvorschau dependsOn: eval: $.type == "teamMembers" subFields: - name: initialImage type: string meta: label: Bild containerProps: layout: size: default: "col-6" small: "col-12" large: "col-6" dependsOn: eval: $.personType == 'chef' widget: foreignKey # Verwendetes Widget. foreign: collection: medialib # Name der Sammlung, in der die ausgewählten Daten gespeichert sind. id: id # Feldname, das als eindeutige Kennung für die ausgewählten Daten verwendet wird. subNavigation: 0 # Bestimmt, welche Navigation für die Auswahl der ausgewählten Daten angezeigt wird. #projection: xyz #sort: "title" render: defaultCollectionViews: true - name: hoverImage type: string meta: label: Bild beim Hover containerProps: layout: size: default: "col-6" small: "col-12" large: "col-6" dependsOn: eval: $.personType == 'chef' widget: foreignKey # Verwendetes Widget. foreign: collection: medialib # Name der Sammlung, in der die ausgewählten Daten gespeichert sind. id: id # Feldname, das als eindeutige Kennung für die ausgewählten Daten verwendet wird. subNavigation: 0 # Bestimmt, welche Navigation für die Auswahl der ausgewählten Daten angezeigt wird. #projection: xyz #sort: "title" render: defaultCollectionViews: true - name: name type: string meta: label: Name - !include fields/teaserHomepage.yml - name: jobOffer type: object meta: label: Job Angebot dependsOn: eval: $.type == "jobOffers" subFields: - name: title type: string meta: label: Titel - name: text type: string meta: widget: richtext label: Text - name: emailButton type: boolean meta: label: E-Mail Button Anzeigen - name: emailSubject type: string meta: label: E-Mail Betreff dependsOn: eval: $parent.emailButton == true - name: rows type: object[] meta: label: Zeilen widget: grid dependsOn: eval: $.type != "jobOffers" && ($.type != "teamMembers" || $.personType == "chef") metaElements: - source: backgroundImage - source: noBottomMargin - source: noTopMargin - source: flexWrapNormal - source: twoToThree - source: nextPage subFields: !include fieldLists/row.yml - name: meta type: object meta: label: Meta Agaben dependsOn: eval: $.type == "page" subFields: - name: title type: string meta: label: Titel containerProps: layout: size: default: "col-6" small: "col-12" large: "col-6" - name: description type: string meta: label: Beschreibung containerProps: layout: size: default: "col-6" small: "col-12" large: "col-6" - name: keywords type: string meta: label: Schlüsselwörter - name: sort type: number meta: label: de: Manuelle Sortierung en: Manual Sorting inputProps: { readonly: true, placeholder: { de: "Wert wird automatisch gesetzt", en: "Value is set automatically" } } helperText: de: Dieses Feld wird für die manuelle Sortierung benötigt. Sobald ein Eintrag per Drag&Drop verschoben wurde, wird die neue Position innerhalb der Liste eingetragen. en: This field is required for manual sorting. As soon as an entry is moved using Drag&Drop, the new position is entered in the list.