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