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.
135 lines
3.8 KiB
YAML
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: ''
|