- Introduced ContactFormBlock, FeaturesBlock, HeroBlock, and RichtextBlock components. - Implemented a scroll-reveal action for animations on element visibility. - Enhanced CSS styles for better theming and prose formatting. - Added localization support for new components and updated existing translations. - Created e2e tests for demo pages including contact form validation and navigation. - Added a video tour showcasing the demo pages and interactions.
172 lines
3.9 KiB
YAML
172 lines
3.9 KiB
YAML
########################################################################
|
|
# Content collection — CMS-managed pages with pagebuilder blocks
|
|
########################################################################
|
|
|
|
name: content
|
|
meta:
|
|
label: { de: "Inhalte", en: "Content" }
|
|
muiIcon: article
|
|
rowIdentTpl: { twig: "{{ name }}" }
|
|
|
|
views:
|
|
- type: simpleList
|
|
mediaQuery: "(max-width: 600px)"
|
|
primaryText: name
|
|
secondaryText: lang
|
|
tertiaryText: path
|
|
- type: table
|
|
columns:
|
|
- name
|
|
- source: lang
|
|
filter: true
|
|
- source: type
|
|
filter: true
|
|
- source: path
|
|
- source: active
|
|
filter: true
|
|
|
|
permissions:
|
|
public:
|
|
methods:
|
|
get: true
|
|
user:
|
|
methods:
|
|
get: true
|
|
post: true
|
|
put: true
|
|
delete: true
|
|
|
|
fields:
|
|
- name: active
|
|
type: boolean
|
|
meta:
|
|
label: { de: "Aktiv", en: "Active" }
|
|
- name: type
|
|
type: string
|
|
meta:
|
|
label: { de: "Typ", en: "Type" }
|
|
- name: lang
|
|
type: string
|
|
meta:
|
|
label: { de: "Sprache", en: "Language" }
|
|
- name: translationKey
|
|
type: string
|
|
meta:
|
|
label: { de: "Übersetzungsschlüssel", en: "Translation Key" }
|
|
- name: name
|
|
type: string
|
|
meta:
|
|
label: { de: "Name", en: "Name" }
|
|
- name: path
|
|
type: string
|
|
meta:
|
|
label: { de: "Pfad", en: "Path" }
|
|
- name: alternativePaths
|
|
type: object[]
|
|
meta:
|
|
label: { de: "Alternative Pfade", en: "Alternative Paths" }
|
|
subFields:
|
|
- name: path
|
|
type: string
|
|
- name: thumbnail
|
|
type: string
|
|
meta:
|
|
label: { de: "Vorschaubild", en: "Thumbnail" }
|
|
- name: teaserText
|
|
type: string
|
|
meta:
|
|
label: { de: "Teasertext", en: "Teaser Text" }
|
|
- name: blocks
|
|
type: object[]
|
|
meta:
|
|
label: { de: "Inhaltsblöcke", en: "Content Blocks" }
|
|
subFields:
|
|
- name: hide
|
|
type: boolean
|
|
- name: type
|
|
type: string
|
|
- name: headline
|
|
type: string
|
|
- name: headlineH1
|
|
type: boolean
|
|
- name: subline
|
|
type: string
|
|
- name: tagline
|
|
type: string
|
|
- name: anchorId
|
|
type: string
|
|
- name: containerWidth
|
|
type: string
|
|
- name: background
|
|
type: object
|
|
subFields:
|
|
- name: color
|
|
type: string
|
|
- name: image
|
|
type: string
|
|
- name: padding
|
|
type: object
|
|
subFields:
|
|
- name: top
|
|
type: string
|
|
- name: bottom
|
|
type: string
|
|
- name: callToAction
|
|
type: object
|
|
subFields:
|
|
- name: buttonText
|
|
type: string
|
|
- name: buttonLink
|
|
type: string
|
|
- name: buttonTarget
|
|
type: string
|
|
- name: heroImage
|
|
type: object
|
|
subFields:
|
|
- name: image
|
|
type: string
|
|
- name: text
|
|
type: string
|
|
- name: imagePosition
|
|
type: string
|
|
- name: imageRounded
|
|
type: string
|
|
- name: image
|
|
type: string
|
|
- name: accordionItems
|
|
type: object[]
|
|
subFields:
|
|
- name: question
|
|
type: string
|
|
- name: answer
|
|
type: string
|
|
- name: open
|
|
type: boolean
|
|
- name: imageGallery
|
|
type: object
|
|
subFields:
|
|
- name: images
|
|
type: object[]
|
|
subFields:
|
|
- name: image
|
|
type: string
|
|
- name: caption
|
|
type: string
|
|
- name: showCaption
|
|
type: boolean
|
|
- name: showImageCaption
|
|
type: boolean
|
|
- name: imageCaption
|
|
type: string
|
|
- name: meta
|
|
type: object
|
|
meta:
|
|
label: { de: "SEO", en: "SEO" }
|
|
subFields:
|
|
- name: title
|
|
type: string
|
|
- name: description
|
|
type: string
|
|
- name: keywords
|
|
type: string
|