TypoScript¶
Target group: Integrators
Content Object (cObject) SCHEMA
¶
New in version 2.3.0.
The extension provides the cObject SCHEMA
.
The cObject itself will not display anything.
Instead it will add configured types to the global schema output.
A small example:
page = PAGE
page.10 = SCHEMA
page.10 {
type = WebSite
properties {
name.field = seo_title // title
description.field = description
}
}
That will add an element of type WebSite
to schema.
It will consist of the property name
as well as description
.
The name
property will be filled from the seo_title
field, falling back to title
field.
Top Level Properties¶
The cObject SCHEMA
provides the following top level properties:
Property
type
Data type
string / stdWrap
Description
Defines the schema type to use, see: List of available types.
Example:
page.10 = SCHEMA
page.10.type = WebSite
Property
id
Data type
string / stdWrap
Description
The id added as @id
to the type if defined.
Example:
page.10 = SCHEMA
page.10.type = WebSite
page.10.id {
typolink {
parameter = t3://page?uid={site : rootPageId}
parameter.insertData = 1
forceAbsoluteUrl = 1
returnLast = url
}
}
Property
properties
Data type
array
Description
The key will be used as property name. The value can be a static text, an array, a content object, a stdWrap property or an if condition.
Example:
page.10 = SCHEMA
page.10.type = WebSite
page.10.properties {
name.field = seo_title // title
description.field = description
}
A property can be a SCHEMA
again, which will result in nested structures.
Example:
page.10 = SCHEMA
page.10.type = WebSite
page.10.properties {
publisher = SCHEMA
publisher {
id {
typolink {
parameter = t3://page?uid={site : rootPageId}#organization
parameter.insertData = 1
forceAbsoluteUrl = 1
returnLast = url
}
}
}
}
Multiple values can also be assigned to one property using numeric keys.
New in version 2.5.0.
Example:
page.10 = SCHEMA
page.10 {
type = Organization
properties {
name = My Company
sameAs {
10 = https://example.org/
20.typolink {
parameter = t3://page?uid=42
forceAbsoluteUrl = 1
returnLast = url
}
}
}
}
Property
if
Data type
Description
Prevents processing of the whole cObject if it evaluates to false
.
Example:
page.10 = SCHEMA
page.10 {
if {
equals.data = site : rootPageId
value.field = uid
}
type = WebSite
}