コンテンツフラグメントモデルは、コンテンツフラグメントのコンテンツの構造を定義します。
コンテンツフラグメントモデルを使用するには、以下をおこないます。
ツール/アセットに移動し、コンテンツフラグメントモデルを開きます。
目的の設定に適したフォルダーに移動します。
「作成」を使用してウィザードを開きます。
コンテンツフラグメントモデルの使用が有効になっていない場合、「作成」オプションは使用できません。
「モデルタイトル」を指定します。また、タグ、説明を追加し、必要に応じてモデルを有効にしてモデルを有効にします。
「作成」を使用して空のモデルを保存します。操作の成功を示すメッセージが表示されます。「開く」を選択してモデルをすぐに編集するか、「完了」を選択してコンソールに戻ることができます。
コンテンツフラグメントモデルは、データタイプの選択を使用して、結果として得られるコンテンツフラグメントの構造を効果的に定義します。モデルエディターを使用して、データ型のインスタンスを追加し、それらを設定して必須フィールドを作成できます。
既存のコンテンツフラグメントモデルを編集すると、依存するフラグメントが影響を受ける可能性があります。
ツール/アセットに移動し、コンテンツフラグメントモデルを開きます。
コンテンツフラグメントモデルが含まれているフォルダーに移動します。
必要なモデルを編集用に開きます。クイック操作を使用するか、モデルを選択してツールバーから操作を選択します。
モデルを開くと、モデルエディターに次の情報が表示されます。
あるフィールドを必須として指定した場合、左側のウィンドウに表示されるラベルにアスタリスク(*)が付きます。
フィールドを追加するには
必要なデータタイプをフィールドの必要な場所にドラッグします。
フィールドがモデルに追加されると、その特定のデータタイプに対して定義できるプロパティが右側のパネルに表示されます。ここで、そのフィールドに必要な項目を定義することができます。
次に例を示します。
フィールドを削除するには
必要なフィールドを選択し、ごみ箱アイコンをクリックまたはタップします。この操作の確認が求められます。
すべての必須フィールドを追加し、必要に応じて関連するプロパティを定義します。次に例を示します。
「保存」を選択して、定義を保持します。
モデルの定義には、次のデータタイプを選択できます。
多くのプロパティは自明です。プロパティによっては次に示す追加の詳細情報があります。
Render As
フラグメント内のフィールドを実現/レンダリングするための様々なオプション。多くの場合、これにより、作成者にフィールドの 1 つのインスタンスが表示されるか、作成者が複数のインスタンスを作成できるかを定義できます。
フィールドラベル
フィールドラベルはプロパティ名を自動生成します。プロパティ名は必要に応じて手動で更新できます。
検証基本検証は、
必須プロパティなどのメカニズムで使用できます。一部のデータ型には、追加の検証フィールドがあります。詳しくは、「検証」を参照してください。
データタイプが複数行テキストの場合、「デフォルトの種類」を次のいずれかとして定義できます。
指定しなかった場合は、デフォルト値のリッチテキストがこのフィールドで使用されます。
コンテンツフラグメントモデルで「デフォルトの種類」を変更した場合、その影響が既存の関連コンテンツフラグメントに及ぶのは、そのフラグメントがエディターで開かれて保存された後です。
UniqueContent(特定のフィールドに対する)は、現在のモデルから作成されるすべてのコンテンツフラグメントで一意である必要があります。
これは、同じモデルの別のフラグメントに既に追加されているコンテンツを、コンテンツ作成者が繰り返せないようにするために使用します。
例えば、コンテンツフラグメントモデルの1行のテキストフィールドCountry
は、2つの依存するコンテンツフラグメントに値Japan
を持つことはできません。 2つ目のインスタンスが試行されると、警告が表示されます。
言語ルートごとの一意性が確保されます。
バリエーションは、同じフラグメントのバリエーションと同じ一意の値を持つことができますが、他のフラグメントのバリエーションで使用される値とは異なります。
翻訳可能CFモデルエディターでフィールドの「翻訳可能」チェックボックスをオンにすると、
/content/dam/<tenant>
に追加されていることを確認します。<translatable>
プロパティをyes
に設定し、変換可能なコンテンツのみを含むJSON出力用のGraphQLクエリフィルターを許可します。特定のデータ型とそのプロパティについて詳しくは、フラグメント参照(ネストされたフラグメント)を参照してください。
様々なデータ型に、結果のフラグメントにコンテンツが入力される際の検証要件を定義できるようになりました。
コンテンツフラグメントは、次のデータ型のいずれかを使用して、ネストされたコンテンツを形成できます。
フラグメント参照 (ネストされたフラグメント)
指定した特定のモデルに応じて、他のフラグメントを参照します。
構造化データを含めたり、取得したりできます。
この方法は、GraphQL](/docs/experience-manager-cloud-service/assets/content-fragments/content-fragments-graphql.html?lang=ja)でのコンテンツフラグメントを使用した[ヘッドレスコンテンツ配信との関連で特に重要です。
1つまたは複数の参照に対して設定できます(結果のフラグメント内)。
AEMでは次の繰り返しを保護しています。
コンテンツリファレンスを使用すると、別のソースからコンテンツをレンダリングできます。例えば、画像やコンテンツフラグメントなどです。
標準プロパティに加えて、次を指定できます。
フラグメント参照は、1つ以上のコンテンツフラグメントを参照します。 アプリで使用するコンテンツを取得する場合、この特に関心のある機能は、複数のレイヤーを持つ構造化データを取得できる点にあります。
次に例を示します。
type EmployeeModel {
name: String
firstName: String
company: CompanyModel
}
type CompanyModel {
name: String
street: String
city: String
}
これは、GraphQL](/docs/experience-manager-cloud-service/assets/content-fragments/content-fragments-graphql.html?lang=ja)でのコンテンツフラグメントを使用した[ヘッドレスコンテンツ配信との関連で特に重要です。
標準プロパティに加えて、次のように定義できます。
レンダリング時の名前:
multifield — フラグメント作成者は、複数の個別の参照を作成できます。
fragmentreference — フラグメント作成者がフラグメントへの1つの参照を選択できるようにします。
モデル
タイプ複数のモデルを選択できます。コンテンツフラグメントをオーサリングする場合、参照フラグメントはこれらのモデルを使用して作成されている必要があります。
ルート
パス参照されるすべてのフラグメントのルートパスを指定します。
フラグメントの作成を許可
これにより、フラグメント作成者は適切なモデルに基づいて新しいフラグメントを作成できます。
繰り返し防止機構が設けられている。 これにより、フラグメント参照でユーザーが現在のコンテンツフラグメントを選択できなくなります。 これにより、空のフラグメント参照選択ダイアログが表示される場合があります。
GraphQLには、フラグメント参照の繰り返し保護もあります。 相互に参照する2つのコンテンツフラグメントに対してディープクエリを作成すると、nullが返されます。
コンテンツフラグメントモデルの使用を完全に制御するために、設定できるステータスがあります。
モデルを作成して有効にすると、次が可能になります。
次のいずれかとしてフラグ付けされたモデルを有効にするには
「有効化」オプションは、次のいずれかから使用します。
モデルを無効にすると、以下のようになります。
「有効」としてフラグ付けされたモデルを無効にするには、次のいずれかの「無効化」オプションを使用します。
コンテンツガバナンスを実装するには、アセットフォルダーにポリシーを設定して、そのフォルダーでフラグメントの作成に許可するコンテンツフラグメントモデルを制御します。
このメカニズムは、ページの高度なプロパティで、あるページに対してページテンプレートとその子を許可すると似ています。
ポリシーを許可されているコンテンツフラグメントモデル用に設定するには:
必要なアセットフォルダーのプロパティに移動して開きます。
「ポリシー」タブを開き、次の設定を行うことができます。
継承元<folder>
ポリシーは、新しい子フォルダーの作成時に自動的に継承されます。サブフォルダーで親フォルダーとは異なるモデルを許可する必要がある場合は、ポリシーを再設定(継承を中断)できます。
許可されているコンテンツフラグメントモデルパス (パス別)
複数のモデルを使用できます。
タグ別に許可されるコンテンツフラグメントモデル
複数のモデルを使用できます。
変更を 保存します。
フォルダーに対して許可されるコンテンツフラグメントモデルは、次のように解決されます。
コンテンツフラグメントモデルを削除すると、依存するフラグメントが影響を受ける可能性があります。
コンテンツフラグメントモデルを削除するには:
ツール/アセットに移動し、コンテンツフラグメントモデルを開きます。
コンテンツフラグメントモデルが含まれているフォルダーに移動します。
モデルを選択し、次にツールバーの「削除」を選択します。
モデルが参照されている場合は、警告が表示されます。適切に対処します。
コンテンツフラグメントモデルは、依存するコンテンツフラグメントの公開時または公開前に公開する必要があります。
コンテンツフラグメントモデルを公開するには:
ツール/アセットに移動し、コンテンツフラグメントモデルを開きます。
コンテンツフラグメントモデルが含まれているフォルダーに移動します。
モデルを選択し、次にツールバーの「公開」を選択します。公開ステータスがコンソールに示されます。
まだ公開されていないモデルのコンテンツフラグメントを公開すると、選択リストにそのことが示され、モデルがフラグメントと共に公開されます。
コンテンツフラグメントモデルがフラグメントによって参照されていない場合は、そのモデルを非公開にできます。
コンテンツフラグメントモデルを非公開するには、いずれかをおこないます。
ツール/アセットに移動し、コンテンツフラグメントモデルを開きます。
コンテンツフラグメントモデルが含まれているフォルダーに移動します。
モデルを選択し、次にツールバーの「非公開」を選択します。公開ステータスがコンソールに示されます。