AEMでコンテンツフラグメントバリエーションの内部名を変更する

Adobe Experience Manager(AEM)は、コンテンツフラグメントバリエーションの名前を変更すると、表示タイトル(jcr:title)のみを更新します。一方、jcr:content/dataの下の内部バリエーション名は、バリエーションの作成時に設定されているため、変更されません。 この問題を解決するには、目的の内部名で新しいバリエーションを作成し、コンテンツをコピーして参照を更新し、検証後に古いバリエーションを削除します。

説明 description

環境

Adobe Experience Manager(すべてのバージョン)

問題/症状

  • コンテンツフラグメントエディターでコンテンツフラグメントバリエーションの名前を変更すると、表示ラベル (jcr:title)のみが更新されます。
  • 内部バリエーション名(jcr:content/dataの下のノード名)は変更されません。
  • GraphQLなどのコンポーネントやヘッドレス APIでは、内部名を使用してバリエーションを参照します。
  • 既存のバリエーションを作成した後に、そのバリエーションの内部名を直接変更する方法はサポートされていません。

根本原因

コンテンツフラグメントバリエーションの内部名は、バリエーションの作成時に設定され、AEM コンポーネントおよびAPIで識別子として使用されます。 UIのバリエーションの名前を変更すると、表示ラベル(jcr:title)のみが更新され、内部ノード名は更新されません。 この動作は設計されており、ヘッドレスおよびコンポーネントベースの統合に関する安定した参照を維持します。

解決策 resolution

問題を解決するには、次の手順に従います。

  1. コンテンツフラグメントエディターで、目的の内部名とタイトルを持つ新しいバリエーションを作成します。
  2. 元のバリエーションから新しいバリエーションに、コンテンツを手動でコピーします。
  3. ページ、コンポーネント、GraphQL クエリなどのすべての参照を更新して、新しいバリエーション名を使用します。
  4. すべての機能が新しいバリエーション名で期待どおりに機能することを確認します。
  5. 検証が完了したら、古いバリエーションを削除して、混乱を避けます。
recommendation-more-help
experience-cloud-kcs-help-kbarticles