使用Experience Manager as a Cloud Service中的內容片段編輯器擴充功能將目前時間填入日期和時間欄位
在Adobe Experience Manager as a Cloud Service中,當作者在新的內容片段編輯器中建立或編輯內容片段時,內容片段模型中的標準 日期/時間 欄位保持空白。 在舊版編輯器中,這些欄位已預先填入目前系統時間,但新編輯器將它們留空,並要求作者手動輸入值。 此變更會影響根據預設時間值的製作工作流程。 若要自動填入欄位,請透過內容片段編輯器UI擴充性架構實作自訂欄位,並設定欄位值空白時的目前時間。 若要修正此問題,請建立、部署和測試自訂欄位擴充功能。
說明 description
環境
- Adobe Experience Manager as a Cloud Service (支援內容片段編輯器UI擴充性)
問題/症狀
- 在新編輯器中,內容片段中的日期/時間欄位預設為空白。
- 作者必須手動輸入目前時間。
原因
依預設,新內容片段編輯器不會自動填寫日期/時間欄位。 若要還原此行為,必須使用擴充性架構實作自訂欄位。
解決方法 resolution
若要自動填入目前時間,請執行下列步驟:
-
安裝並更新Adobe App Builder CLI。
- 執行
npm install -g @adobe/aio-cli。 - 執行
aio plugins:update。
- 執行
-
使用編輯器範本初始化內容片段編輯器擴充功能專案:
- 執行
aio app init --template @adobe/aem-cf-editor-ui-ext-tpl。
- 執行
-
實作自訂日期/時間欄位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