# CONTENT # # This is the main schema for all types of content object! # Version 2 - 2017-12-20 _types: !import base/types.yml _media: !import base/media.yml _meta: !import modules/meta.yml # ---------------------------------------------------------------------------------------------------------------------- # The Content schema properties: type: filter: Enum options: {values: [product]} required: true control: !import modules/control.yml source: !import modules/source.yml meta: properties: title: !ref &: _meta.properties.title description: !ref &: _types.simpletext required: false keywords: !ref &: _meta.properties.keywords tags: !ref &: _meta.properties.tags category: !ref &: _meta.properties.category subcategory: !ref &: _meta.properties.subcategory image: !ref &: _meta.properties.image location: !ref &: _meta.properties.location teaser: !import modules/teaser.yml content: required: true properties: title: !ref &: _types.simpletext required: true kicker: !ref &: _types.simpletext default: false abstract: !ref &: _types.simplehtml default: false author: !ref &: _types.simpletext required: true media: !ref &: _media.media required: false sections: required: false listing: min: 0 max: 200 key: filter: Plain value: !import modules/sections.yml product: required: true properties: # price - See conditional below for currency price: !ref &: _types.money pricetext: !ref &: _types.simpletext release: filter: DateTime options: {format: "Y-m-d"} required: false manufacturer: required: true properties: name: !ref &: _types.simpletext required: true slug: filter: PlainExt options: {characterset: 1, characters: "._-"} link: filter: Url options: {type: absolute} affiliates: required: false listing: min: 0 max: 100 key: filter: Plain value: properties: name: !ref &: _types.simpletext required: false link: filter: Url options: {type: absolute} required: true designers: required: false listing: min: 0 max: 100 key: filter: Plain value: properties: name: !ref &: _types.simpletext required: true link: filter: Url options: {type: absolute} properties: !ref _types.custom conditionals: - condition: price > 0 properties: currency: # Currency codes (ISO 4217) filter: Regexp options: {pattern: '/[A-Z]{3,3}/'} required: true custom: !ref _types.custom