############################################################### # 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: "Seiten / Inhalte", en: "Pages / Content" } # 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 columns: - source: public - source: locale type: flag - source: path # Desktop - type: table mediaQuery: "(min-width:600px)" columns: - source: public - source: type - source: locale type: flag - 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 tablist: # meta: # expand: contentTab tabs: - name: general label: { de: "Allgemein", en: "General" } subFields: - source: public - source: path - source: locale - source: type - source: tags - name: meta label: { de: "Meta", en: "Meta" } subFields: - source: meta - name: contentTab label: { de: "Seiteninhalt", en: "Page Content" } subFields: - source: pageBuilder - name: project label: { de: "Projektdetails", en: "Project Details" } dependsOn: eval: $.type?.includes("project") subFields: - source: project 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: # Liste und Einzeleinträge lesen get: true # neuen Eintrag anlegen post: true # Eintrag editieren put: true # Eintrag löschen delete: true # 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 hooks: post: create: type: javascript file: hooks/content/post_create.js put: update: type: javascript file: hooks/content/put_update.js # Feldliste der Kollektion fields: # 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. - name: path type: string index: [single, unique] meta: filter: true label: { de: "Pfad", en: "Path" } helperText: de: "Der Pfad muss eindeutig sein, und zwingend ohne einen Slash (/) beginnen und enden." en: "The path must be unique and must start and end without a slash (/)." - !include fields/_locale.yml - name: type type: string[] index: [single] meta: widget: chipArray filter: true defaultValue: eval: | $navigation?.name ? [$navigation.name] : [] label: de: Inhaltstyp en: type of content autocomplete: true choices: - 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 - name: tags type: string[] meta: widget: chipArray helperText: de: "Über die Zuweisung von Schlagworten, können Seiten noch einmal genauer kategorisiert werden." en: "Pages can be categorized more precisely by assigning keywords." label: de: Schlagwort / Tag / Label en: Kayword / Tag / Label addAllowed: true choices: endpoint: "tags" mapping: id: "name" name: "name" params: sort: "name" # Felder für Meta-Informationen der Seite (Meta-Tags) im Tab "Meta" - 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: "Noindex: Weist eine Suchmaschine an, eine Seite nicht zu indizieren.
index: Weist eine Suchmaschine an, eine Seite zu indizieren. Beachten Sie, dass Sie dieses Meta-Tag nicht hinzufügen müssen; es ist die Voreinstellung.
follow: Auch wenn die Seite nicht indexiert ist, sollte der Crawler allen Links auf einer Seite folgen und Eigenkapital an die verlinkten Seiten weitergeben.
nofollow: Weist einen Crawler an, keinen Links auf einer Seite zu folgen oder Link-Equity weiterzugeben.
noimageindex: Weist einen Crawler an, keine Bilder auf einer Seite zu indizieren.
none: Entspricht der gleichzeitigen Verwendung der noindex- und nofollow-Tags.
noarchive: Suchmaschinen sollten keinen zwischengespeicherten Link zu dieser Seite auf einem SERP anzeigen.
nocache: Wie noarchive, aber nur von Internet Explorer und Firefox verwendet.
nosnippet: Weist eine Suchmaschine an, kein Snippet dieser Seite (d. h. Meta-Beschreibung) dieser Seite auf einem SERP anzuzeigen.
nnavailable_after: Suchmaschinen sollen diese Seite nach einem bestimmten Datum nicht mehr indexieren.
" en: "Noindex: Tells a search engine not to index a page.
index: Tells a search engine to index a page. Note that you don’t need to add this meta tag; it’s the default.
follow: Even if the page isn’t indexed, the crawler should follow all the links on a page and pass equity to the linked pages.
nofollow: Tells a crawler not to follow any links on a page or pass along any link equity.
noimageindex: Tells a crawler not to index any images on a page.
none: Equivalent to using both the noindex and nofollow tags simultaneously.
noarchive: Search engines should not show a cached link to this page on a SERP.
nocache: Same as noarchive, but only used by Internet Explorer and Firefox.
nosnippet: Tells a search engine not to show a snippet of this page (i.e. meta description) of this page on a SERP.
nnavailable_after: Search engines should no longer index this page after a particular date.
" - 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" # Page Builder im Tab "Seiteninhalt" - !include fields/pageBuilder.yml