使用Experience Manager as a Cloud Service中的內容片段編輯器擴充功能將目前時間填入日期和時間欄位

在Adobe Experience Manager as a Cloud Service中,當作者在新的內容片段編輯器中建立或編輯內容片段時,內容片段模型中的標準 日期/時間 欄位保持空白。 在舊版編輯器中,這些欄位已預先填入目前系統時間,但新編輯器將它們留空,並要求作者手動輸入值。 此變更會影響根據預設時間值的製作工作流程。 若要自動填入欄位,請透過內容片段編輯器UI擴充性架構實作自訂欄位,並設定欄位值空白時的目前時間。 若要修正此問題,請建立、部署和測試自訂欄位擴充功能。

說明 description

環境

  • Adobe Experience Manager as a Cloud Service (支援內容片段編輯器UI擴充性)

問題/症狀

  • 在新編輯器中,內容片段中的日期/時間欄位預設為空白。
  • 作者必須手動輸入目前時間。

原因

依預設,新內容片段編輯器不會自動填寫日期/時間欄位。 若要還原此行為,必須使用擴充性架構實作自訂欄位。

解決方法 resolution

若要自動填入目前時間,請執行下列步驟:

  1. 安裝並更新Adobe App Builder CLI。

    • 執行npm install -g @adobe/aio-cli
    • 執行aio plugins:update
  2. 使用編輯器範本初始化內容片段編輯器擴充功能專案:

    • 執行aio app init --template @adobe/aem-cf-editor-ui-ext-tpl
  3. 實作自訂日期/時間欄位React元件:

    • 使用自訂欄位API來註冊您的自訂欄位。
    • 在您的元件中,檢查欄位值是否為空。 若是如此,請將其設定為目前系統時間。
    • 範例:

``
從’react’匯入{ useEffect };

匯出預設函式CustomDateTimeField({ value, onChange }) {
useEffect() => {
if (!value) {
onChange(new Date()。toISOString());
}
}, [ value, onChange] );

//在此處呈現您的日期/時間輸入,允許手動覆寫

`

— 使用擴充功能架構,將此元件註冊為日期/時間屬性的自訂欄位。
​4. 依照App Builder擴充功能的標準部署步驟,將您的擴充功能部署至您的AEM環境。
​5. 測試擴充功能:
— 在新編輯器中開啟內容片段。
— 新增或編輯「日期/時間」欄位,並確認其已使用目前系統時間自動填入。
— 確認作者仍可視需要修改值。

相關閱讀

recommendation-more-help
experience-cloud-kcs-help-kbarticles