模型定義、欄位和元件類型 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)
RTF rich-text
RTF允許多行RTF輸入。 它提供額外的驗證型別。
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)