在AEMaaCS中編寫變更和復寫時失去自訂JCR屬性

本文提供解決方案,解決進行製作變更並在Adobe Experience Manager as a Cloud Service (AEMaaCS)中複製內容時,自訂JCR屬性遺失的問題。 它說明了問題發生的原因,並提供逐步指南以確保這些屬性的永續性。

說明 description

環境

Adobe Experience Manager as a Cloud Service (AEMaaCS)

問題

當自訂JCR屬性直接新增到與體驗片段中多欄位元件相關聯的節點時,它可能在編寫變更或復寫後無法持續。 觀察到以下症狀:

  • 儲存編寫變更後,自訂屬性會遺失。
  • 復寫程式會覆寫或刪除這些屬性。

發生此行為是因為多欄位元件會根據對話方塊設定動態管理其屬性,這些設定會指定儲存和複製的內容。

解決方法 resolution

  • 更新對話方塊設定:

    • 請確定所有自訂屬性都明確定義在元件的對話方塊XML設定中。
    • 將自訂屬性的對應欄位新增至對話方塊結構,以確保可辨識並儲存這些屬性。
  • 多欄位元件處理:

    • 多欄位元件會將其專案儲存為個別的子節點,位於JCR中的父節點下。
    • 在元件的對話方塊或組態檔案中定義必要的屬性,以防止在處理期間覆寫。
  • 擴充元件

    • 為您所需的每個自訂屬性新增欄位,以擴充現有元件。 例如,如果您正在使用tariffItem欄位,請在擴充元件設定中加入。
  • 使用隱藏欄位設定並直接編寫步驟 — 對於不應該出現在UI中但需要以程式設計方式保留的屬性,請使用以下設定來設定隱藏欄位:

Name: granite:hidden  

Type: Boolean  

Value: true

  • 測試及驗證

    • 在部署到生產環境之前,請先在本機環境中測試更新的設定。
    • 使用標準AEM專案(例如:WKND)進行初始測試,以驗證變更而不會受到其他自訂層的干擾。
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f