Files
VITEC-website/packages/vitec/Configuration/Sets/Vitecset/settings.definitions.yaml
Oliver Rasche 55f7f82a42 Show success stories below the product lists, linked on the category
sys_category gains a story selection and a layout (Options tab, alongside
the images field EXT:news puts there), so one editorial decision serves
every product list that renders the category. ProductListJsonRenderer emits
them beside the products in the 7.3 list envelope; each card carries
forCategories - the product categories it came from - so the front end hides
it with the same ?cat=/?subcat= filter it applies to the products. Stories
are collected over the category and its descendants and deduplicated.

Story links follow the existing rule (detail page's parent path plus slug,
which SuccessStoryPathRewrite maps back), taking the page from the element's
FlexForm or the new site setting vitec.storyDetailPid.

Spec raised to 1.17 with clause 7.15.2.1; the header had been left at 1.12
although entries up to 1.15 already existed, so today's two entries were
renumbered to 1.16 and 1.17.
2026-09-11 15:28:32 +02:00

135 lines
3.8 KiB
YAML

categories:
VITEC:
label: 'VITEC Settings'
description: 'Settings for VITEC Stuff'
seo:
label: 'SEO Settings'
description: 'SEO related settings'
menu:
label: 'Menu / Navigation'
description: 'Footer & meta menu page selection'
settings:
my.vitec.setting:
label: 'My example setting'
category: VITEC
type: string
default: ''
my.seoRelevantSetting:
label: 'My SEO relevant setting'
category: seo
type: int
default: 5
vitec.debugMode:
label: 'Enable Debug Mode'
description: 'Enable debug mode for VITEC extensions'
category: VITEC
type: bool
default: false
vitec.storyDetailPid:
label: 'Success story detail page'
description: 'The page that renders a single success story. Used to build story links where no page is configured on the element itself - the story URL is that page''s parent path plus the story slug, which is what SuccessStoryPathRewrite expects. 0 = no fallback.'
category: VITEC
type: int
default: 0
menu.footer.pageUids:
label: 'Footer menu — page UIDs'
description: 'Comma-separated list of page UIDs to display in the footer menu (in order).'
category: menu
type: string
default: ''
menu.meta.pageUids:
label: 'Meta menu — page UIDs'
description: 'Comma-separated list of page UIDs to display in the meta menu (e.g. Imprint, Privacy).'
category: menu
type: string
default: ''
# ---------------------------------------------------------------------------
# Structured data / schema.org (consumed by StructuredDataService)
# ---------------------------------------------------------------------------
seo.site.canonicalBase:
label: 'Canonical base URL'
description: 'Absolute public base URL of the live site WITHOUT trailing slash, e.g. https://www.vitec.com. Used to build absolute URLs in JSON-LD. Falls back to the request host if empty.'
category: seo
type: string
default: ''
seo.site.name:
label: 'Website name (schema.org WebSite)'
description: 'Display name for the schema.org WebSite node on the home page. Falls back to the organization name if empty.'
category: seo
type: string
default: ''
seo.organization.name:
label: 'Organization name'
description: 'Public organization name for schema.org/Organization. Leave empty to disable Organization output entirely.'
category: seo
type: string
default: ''
seo.organization.legalName:
label: 'Organization legal name'
description: 'Full legal entity name, e.g. "VITEC GmbH".'
category: seo
type: string
default: ''
seo.organization.logoUrl:
label: 'Organization logo URL'
description: 'URL of the organization logo (absolute, or root-relative — will be made absolute). Recommended for Google.'
category: seo
type: string
default: ''
seo.organization.sameAs:
label: 'Social / sameAs URLs'
description: 'Comma- or newline-separated list of official profile URLs (LinkedIn, YouTube, X, …) for schema.org sameAs.'
category: seo
type: string
default: ''
seo.organization.email:
label: 'Contact email'
category: seo
type: string
default: ''
seo.organization.phone:
label: 'Contact phone'
description: 'International format, e.g. +49 89 1234567.'
category: seo
type: string
default: ''
seo.organization.street:
label: 'Address — street'
category: seo
type: string
default: ''
seo.organization.postalCode:
label: 'Address — postal code'
category: seo
type: string
default: ''
seo.organization.locality:
label: 'Address — city'
category: seo
type: string
default: ''
seo.organization.country:
label: 'Address — country (ISO 3166-1 alpha-2)'
description: 'Two-letter country code, e.g. DE.'
category: seo
type: string
default: ''