模型定义、字段和组件类型 field-types
通过示例了解通用编辑器可在属性边栏中编辑的字段和组件类型。 了解如何通过创建模型定义并链接到组件来检测自己的应用程序。
概述 overview
调整自己的应用程序以便与通用编辑器一起使用时,必须检测组件,并定义它们可以在编辑器的属性边栏中操作的字段和组件类型。 可通过创建模型并从组件链接到模型来完成此操作。
本文档概述了模型定义以及可用的字段和组件类型以及示例配置。
模型定义结构 model-structure
要通过通用编辑器中的属性边栏配置组件,必须存在模型定义并将其链接到组件。
模型定义是一个JSON结构,从模型数组开始。
[
{
"id": "model-id", // must be unique
"fields": [] // array of fields which shall be rendered in the properties rail
}
]
有关如何定义fields
数组的详细信息,请参阅本文档的 字段 部分。
要将模型定义与组件一起使用,可以使用data-aue-model
属性。
<div data-aue-resource="urn:datasource:/content/path" data-aue-type="component" data-aue-model="model-id">Click me</div>
加载模型定义 loading-model
创建模型后,可将其作为外部文件引用。
<script type="application/vnd.adobe.aue.model+json" src="<url-of-model-definition>"></script>
或者,也可以内联定义模型。
<script type="application/vnd.adobe.aue.model+json">
{ ... model definition ... }
</script>
字段 fields
字段对象具有以下类型定义。
component
ComponentType
name
string
label
FieldLabel
description
FieldDescription
placeholder
string
value
FieldValue
valueType
ValueType
string
、string[]
、number
、date
、boolean
required
boolean
readOnly
boolean
hidden
boolean
multi
boolean
validation
ValidationType
raw
unknown
组件类型 component-types
以下是可用于呈现字段的组件类型。
aem-tag
aem-content
boolean
checkbox-group
container
aem-content-fragment
date-time
multiselect
number
radio-group
reference
richtext
select
tab
text
AEM标记 aem-tag
AEM标记组件类型会启用AEM标记选取器,该选取器可用于将标记附加到组件。
code language-json |
---|
|
![AEM标记组件类型的屏幕快照](./media_1159651cabbe711ba93dd5acc430b04fcaa0a07c6.png?width=750&format=png&optimize=medium)
AEM内容 aem-content
AEM内容组件类型会启用AEM内容选取器,该选取器可用于设置内容引用。
code language-json |
---|
|
![AEM内容组件类型的屏幕截图](./media_1f5cbfa1ff71d1a51b6c9e61d194b235760281617.png?width=750&format=png&optimize=medium)
布尔值 boolean
布尔组件类型存储呈现为切换的简单true/false值。 它提供了额外的验证类型。
customErrorMsg
string
code language-json |
---|
|
code language-json |
---|
|
![布尔组件类型的屏幕快照](./media_1b673ea5591e814bb10c8c2327a8d4345c8b6da50.png?width=750&format=png&optimize=medium)
复选框组 checkbox-group
与布尔值类似,复选框组组件类型允许选择多个true/false项目,呈现为多个复选框。
code language-json |
---|
|
![复选框组组件类型的屏幕截图](./media_1a66c505c6ad3e5d45c1f493e5676ce69ebcca822.png?width=750&format=png&optimize=medium)
容器 container
容器组件类型允许对组件进行分组。 它提供了额外的配置。
collapsible
boolean
code language-json |
---|
|
![容器组件类型的屏幕快照](./media_144a48a63fe8acb3d1ee1472b114c38b773fcdc4e.png?width=750&format=png&optimize=medium)
内容片段 content-fragment
内容片段选取器可用于选择内容片段及其变体(如果需要)。 它提供了额外的配置。
variationName
string
code language-json |
---|
|
![内容片段选取器的屏幕截图](./media_11756da76e36f9d7b47e87d06371a2f6c99371c54.png?width=750&format=png&optimize=medium)
日期时间 date-time
日期时间分量类型允许指定日期、时间或它们的组合。 它提供了其他配置。
displayFormat
string
valueFormat
string
它还提供额外的验证类型。
customErrorMsg
string
valueFormat
时将显示的消息code language-json |
---|
|
code language-json |
---|
|
![日期时间组件类型](./media_1fb7ce59e7d55ecb8462d42e25b84056e31381cc5.png?width=750&format=png&optimize=medium)
体验片段 experience-fragment
体验片段选取器可用于选择体验片段及其变体(如果需要)。 它提供了额外的配置。
variationName
string
code language-json |
---|
|
![体验片段选取器的屏幕截图](./media_192e8f6521eb9ef084f0cd392393a4ce5dccc8dc6.png?width=750&format=png&optimize=medium)
多选 multiselect
多选组件类型在下拉列表中显示多个可供选择的项目,包括对可选元素进行分组的功能。
code language-json |
---|
|
code language-json |
---|
|
![多选组件类型的屏幕快照](./media_150cc6e56950fb2f7a83278ced464fba80c7ed9ac.png?width=750&format=png&optimize=medium)
![包含分组的多选组件类型的屏幕截图](./media_1dece1668ebedfa6b8c3956dc9d3277c4178c7488.png?width=750&format=png&optimize=medium)
数字 number
数字组件类型允许输入数字。 它提供了其他验证类型。
numberMin
number
numberMax
number
customErrorMsg
string
numberMin
或numberMax
时将显示的消息code language-json |
---|
|
code language-json |
---|
|
![编号组件类型](./media_15146425e109a386730d4a2edbf36bb159899e009.png?width=750&format=png&optimize=medium)
单选按钮组 radio-group
单选按钮组组件类型允许从呈现为类似于复选框组的组的组的多个选项中进行互斥选择。
code language-json |
---|
|
![单选按钮组组件类型的屏幕快照](./media_19057aca4a834513c482f4f637c785b3b14c08419.png?width=750&format=png&optimize=medium)
引用 reference
引用组件类型允许从当前对象引用另一个数据对象。
code language-json |
---|
|
![引用组件类型的屏幕快照](./media_113db176eaad949caf55bc670dd51fe33b825464a.png?width=750&format=png&optimize=medium)
富文本 rich-text
富文本允许多行、富文本输入。 它提供了其他验证类型。
maxSize
number
customErrorMsg
string
maxSize
时将显示的消息code language-json |
---|
|
code language-json |
---|
|
![文本区域组件类型的屏幕快照](./media_12bd81eda29531805af2de8c81a45684f722c94a9.png?width=750&format=png&optimize=medium)
选择 select
选择组件类型允许从下拉菜单中的预定义选项列表中选择单个选项。
code language-json |
---|
|
![选定组件类型的屏幕快照](./media_1c86213678ecd6ed6128f8ec37aab80bac74b7779.png?width=750&format=png&optimize=medium)
选项卡 tab
选项卡组件类型允许您在多个选项卡上将其他输入字段分组在一起,以改善作者的布局组织。
可以将tab
定义视为fields
数组中的分隔符。 tab
之后的所有内容都将放在该选项卡上,直到遇到新tab
为止,之后,以下项目将放在该新选项卡上。
如果希望项目出现在所有选项卡上方,则必须在任何选项卡之前定义它们。
code language-json |
---|
|
![选项卡组件类型的屏幕截图](./media_132123718b8b23e0fcbd612a3bdf5cfaeb6e1b3dd.png?width=750&format=png&optimize=medium)
文本 text
文本允许单行文本输入。 它包含其他验证类型。
minLength
number
maxLength
number
regExp
string
customErrorMsg
string
minLength
、maxLength
和/或regExp
时将显示的消息code language-json |
---|
|
code language-json |
---|
|
![文本组件类型的屏幕快照](./media_1983458e1a920be3f84923c8ae42d65f78b7df63e.png?width=750&format=png&optimize=medium)