自訂通用編輯器 customizing

了解自訂通用編輯器的不同選項以支援內容作者的需求。

TIP
通用編輯器亦提供許多擴充點,讓您擴充其功能以滿足專案需求。

使用Meta設定標籤 meta-tags

某些編寫工作流程可能需要使用通用編輯器的部分功能,而非其他功能。 為了支援這些多樣化的情況,中繼標籤可用於設定或停用編輯器的特定功能或按鈕。

正在停用功能 disable-features

在頁面的<head>區段中使用此標籤以停用一或多個功能:

<meta name="urn:adobe:aue:config:disable" content="..." />

如果您想要停用多項功能,請提供以逗號分隔的值清單。

以下是content支援的值,也就是可以使用meta標籤停用的功能。

內容值
說明
publish
停用所有發佈功能,即發佈按鈕取消發佈按鈕
publish-live
停用即時發佈
publish-preview
停用預覽發佈(如果預覽服務可用)
unpublish
停用取消發佈按鈕
copy
停用複製和貼上按鈕
duplicate
停用重複按鈕
header-open-page
停用開啟頁面按鈕
aem-dev-login
停用開發人員登入按鈕

定義編輯器模式 defining-mode

您可以強制通用編輯器在特定模式中開啟。 在頁面的<head>區段中使用此標籤以強制編輯器模式:

<meta name="urn:adobe:aue:config:mode" content="..." />

以下是content支援的值,也就是可以使用meta標籤停用的功能。

內容值
說明
preview
編輯器會在預覽模式下開啟。 預覽​圖示已隱藏,使用者無法切換回編輯模式。
readonly
編輯器會以唯讀模式開啟。 屬性​按鈕和面板已隱藏。 內容樹狀結構中會顯示詳細資料,但無法進行任何變更。

透過中繼標籤定義模式時,模式不能由使用者覆寫。

自訂預覽 URL custom-preview-urls

您可以透過 urn:adobe:aue:config:preview 後設設定指定自訂預覽 URL,當您按一下編輯器右上角工具列中的「開啟頁面」按鈕即會開啟此 URL。

只要將所需的預覽 URL 加入已檢測的應用程式之後設標記內,即可做到,如下列範例所示。

<meta name="urn:adobe:aue:config:preview" content="https://wknd.site"/>

變更您的端點 custom-endpoint

如果您不想使用由 Adobe 託管的通用編輯器服務,而是使用您自己的託管版本,可以在後設標記中進行設定。 如需詳細資訊,請參閱 AEM 中通用編輯器快速入門文件。

篩選元件 filtering-components

您可以使用元件篩選器限制通用編輯器中每個容器所允許的元件。 如需詳細資訊,請參閱篩選元件文件。

在屬性面板中依條件顯示和隱藏元件 conditionally-hide

儘管元件通常可供作者使用,但在某些情況下這樣做可能並不合理。 於此情況下,您可以在元件模型欄位中新增 condition 屬性,隱藏屬性面板中的元件。

可以使用 JsonLogic 結構描述定義條件。 若條件為真,則顯示該欄位。 若條件為假,則該欄位會隱藏。

範例模型
code language-json
 {
    "id": "conditionally-revealed-component",
    "fields": [
      {
        "component": "boolean",
        "label": "Shall the text field be revealed?",
        "name": "reveal",
        "valueType": "boolean"
      },
      {
        "component": "text-input",
        "label": "Hidden text field",
        "name": "hidden-text",
        "valueType": "string",
        "condition": { "===": [{"var" : "reveal"}, true] }
      }
    ]
 }
條件為假
隱藏文字欄位
條件為真
顯示文字欄位

限制:多欄位容器內的條件 conditions-multi-field-limitation

條件var解析度為絕對,而非相對於目前列。 var必須是根層級fieldName,或者對於容器內的欄位,其前置詞為容器名稱containerName|fieldName

相同的方法不適用於多個容器(可重複的列)。 資料列內容在執行階段會以containerName/0|fieldNamecontainerName/1|fieldName等編制索引,但在編寫條件時無法知道該索引,而且會隨著資料列的新增、移除或重新排序而移動。 因此,作者無法在同一列中鎖定特定欄位,因此不支援多個容器內的條件。

recommendation-more-help
experience-manager-cloud-service-help-main-toc