[AEM Sites]{class="badge positive" title="AEM Sitesに適用)。"}
コンテンツフラグメントモデルの定義 defining-content-fragment-models
Adobe Experience Manager(AEM)as a Cloud Service のコンテンツフラグメントモデルでは、コンテンツフラグメントのコンテンツの構造を定義します。 これらのフラグメントは、ページオーサリングまたはヘッドレスコンテンツの基盤として使用できます。
このページでは、専用のエディターを使用してコンテンツフラグメントモデルを定義する方法について説明します。 コンテンツフラグメントコンソールから実行できるアクション、フォルダーでのモデルの許可、モデルの公開など、フラグメントの作成後に実行できるタスクとオプションについて詳しくは、コンテンツフラグメントモデルの管理を参照してください。
- 「このモデルにはカスタム UI スキーマが設定されています。 このUIに表示されるフィールドの順序は、UI スキーマと一致しない可能性があります。 UI スキーマに沿ったフィールドを表示するには、新しいコンテンツフラグメントエディターに切り替える必要があります。」
コンテンツフラグメントモデルの定義 defining-your-content-fragment-model
コンテンツフラグメントモデルは、データタイプの選択を使用して、結果として得られるコンテンツフラグメントの構造を効果的に定義します。 モデルエディターを使用して、データタイプのインスタンスを追加し、それらを設定して必須フィールドを作成できます。
-
コンテンツフラグメントコンソールで、コンテンツフラグメントモデルのパネルを選択し、コンテンツフラグメントモデルが格納されているフォルダーに移動します。
note NOTE また、モデルを作成した後に直接開くこともできます。 -
編集に必要なモデルを開きます。クイックアクションリンクのいずれかを使用するか、モデルを選択してからツールバーからアクションを選択します。
モデルを開くと、モデルエディターに以下の情報が表示されます。
-
上位:
- ホーム アイコン
- originalと新しいエディターを切り替えるオプション
- キャンセル
- 保存
-
左:フィールドの作成に使用できるデータタイプ
-
中間:フィールドは既に追加 オプションと共に定義されています
-
右:右端のアイコンを使用すると、次のいずれかを選択できます。
- プロパティ:選択したフィールドのプロパティを定義して表示します
- モデルの詳細: 有効状態、モデルタイトル、タグ、説明および プレビューURL を表示します
-
-
フィールドを追加するには
-
以下のいずれかの操作を行います。
- 左側のパネルから、中央のパネルのフィールドの必要な場所にデータタイプをドラッグします。
- データタイプで+ アイコンを選択して、フィールドリストの下部に追加します。
- 中央のパネルで「追加」を選択し、結果のドロップダウンリストから必要なデータタイプを選択して、リストの下部にフィールドを追加します。
note NOTE タブ プレースホルダー フィールドは、常に既存のフィールドの上に表示する必要があります。 -
フィールドボックスの左側にあるドットの配置を使用して、フィールドの位置を変更できます。
-
フィールドがモデルに追加され(および選択されると)、右側のパネルには、特定のデータタイプに定義できる プロパティ が表示されます。 ここでは、キャンペーンのターゲティングに必要な
フィールド。-
多くのプロパティは自明です。詳しくは、プロパティ(データタイプ)を参照してください。
-
「フィールドラベル」を入力すると、「プロパティ名」が空欄の場合は自動入力され、後で手動で更新できます。
note caution CAUTION データタイプのプロパティの「プロパティ名」を手動で更新する場合、名前には、A~Z、a~z、0~9 および特殊文字のアンダースコア「_」のみを使用することができます。 以前のバージョンの AEM で作成されたモデルに不正な文字が含まれている場合は、それらの文字を削除または更新します。
例:
note NOTE フィールドが Required として定義されている場合、中央のペインに表示されている Label にはアスタリスク (*)が付けられます。 -
-
-
フィールドを削除するには
中央のパネルで、適切なフィールドのゴミ箱アイコンを選択します。
-
すべての必須フィールドを追加し、必要に応じて関連するプロパティを定義します。
-
「保存」を選択して、定義を保持します。
データタイプ data-types
モデルの定義には、次のデータタイプを選択できます。
-
1 行のテキスト
- 1 行のテキストのフィールドを追加(最大長は定義可能)
- フィールドは、フラグメント作成者がフィールドの新しいインスタンスを作成できるように設定可能
-
複数行テキスト
- リッチテキスト、プレーンテキストまたはマークダウンのテキストエリア
- フィールドは、フラグメント作成者がフィールドの新しいインスタンスを作成できるように設定可能
note NOTE テキストエリアがリッチテキスト、プレーンテキストまたはマークダウンのどれであるかは、モデル内で、プロパティの デフォルトのタイプ によって定義されます。 この形式は、コンテンツフラグメントエディターから変更はできませんが、モデルからのみ変更できます。 -
数値
- 数値フィールドを追加
- フィールドは、フラグメント作成者がフィールドの新しいインスタンスを作成できるように設定可能
-
ブール型
- ブール型チェックボックスを追加
-
日時
- 日付/時間フィールドを追加
-
列挙
- チェックボックス、ラジオボタン、ドロップダウンフィールドのセットを追加
- フラグメント作成者が使用できるオプションを指定可能
- チェックボックス、ラジオボタン、ドロップダウンフィールドのセットを追加
-
タグ
- フラグメント作成者がタグの領域にアクセスして選択できるようにする
-
フラグメント参照
-
他のコンテンツフラグメントの参照をネストされたコンテンツの作成に使用可能
-
このデータタイプは、フラグメント作成者が次の操作を行えるように設定可能です。
- 参照先フラグメントの直接編集
- 適切なモデルに基づいた新しいコンテンツフラグメントの作成
- フィールドの新しいインスタンスの作成
-
参照は、参照先リソースへのパスを指定します。例:
/content/dam/path/to/resource
note NOTE AEM では次の繰り返しを防止できます。 -
コンテンツ参照> これにより、現在のフラグメントへの参照をユーザーが追加できなくなり、空のフラグメント参照ピッカーダイアログが表示される可能性があります。
-
GraphQLでのフラグメント参照> 相互に参照される複数のコンテンツフラグメントを返すディープクエリを作成すると、最初に発生した場合はnullが返されます。
note caution CAUTION 複数の参照されたフラグメントに対してクエリを実行する場合は、様々なフラグメントモデルに同じ名前でタイプが異なるフィールド名を付けることはお勧めしません。 詳しくは、コンテンツフラグメントと共に使用する AEM GraphQL API - 制限事項を参照してください。 コンテンツ参照 content-reference
コンテンツ参照 データ型を使用すると、別のソース(画像、ページ、エクスペリエンスフラグメントなど)からコンテンツをレンダリングできます。
標準プロパティに加えて、以下を指定できます。
-
参照コンテンツを保存する場所を指定または表すルートパス
note NOTE これは、コンテンツフラグメントエディターの使用時に、このフィールドで画像を直接アップロードして参照する場合に必須です。 詳しくは、参照画像を参照してください。 -
参照可能なコンテンツタイプ
note NOTE コンテンツフラグメントエディターの使用時に、このフィールドで画像を直接アップロードして参照する場合は、画像を含める必要があります。 詳しくは、参照画像を参照してください。 -
ファイルサイズの制限
-
画像が参照されている場合:
- サムネールを表示
- 画像の高さと幅の制限
フラグメント参照(ネストされたフラグメント) fragment-reference-nested-fragments
フラグメント参照 データ型は、1つ以上のコンテンツフラグメントを参照できます。 複数のレイヤーを持つ構造化データを取得できるようになるので、アプリで使用するコンテンツを取得する場合、この機能は特に重要になります。
例:
- 次が含まれる従業員の詳細を定義するモデルです。
- 事業主(会社)を定義するモデルへの参照
code language-xml type EmployeeModel { name: String firstName: String company: CompanyModel } type CompanyModel { name: String street: String city: String }note NOTE フラグメント参照は、GraphQL でコンテンツフラグメントを使用したヘッドレスコンテンツ配信で特に重要になります。 標準プロパティに加えて、次のものを定義できます。
-
レンダリング時の名前:
-
multifield - フラグメント作成者は個別の参照を複数作成できます。
-
fragmentreference - フラグメント作成者はフラグメントへの 1 つの参照を選択できます。
-
-
モデルの種類
複数のモデルを選択できます。 コンテンツフラグメントに参照を追加する場合、これらのモデルを使用して参照先のフラグメントが既に作成されている必要があります。 -
ルート パス
これは、参照される任意のフラグメントのルートパスを指定または表します。 -
フラグメントの作成を許可
これにより、フラグメント作成者は、適切なモデルに基づいてフラグメントを作成できるようになります。
- fragmentreferencecomposite - フラグメント作成者が複数のフラグメントを選択して複合フラグメントを作成できるようになります。
note NOTE 繰り返し防止メカニズムが設定されます。 これにより、ユーザーがフラグメント参照で現在のコンテンツフラグメントを選択できなくなり、フラグメント参照ピッカーダイアログが空になる場合があります。 GraphQL にも、フラグメント参照の繰り返しを防止する機能があります。 相互に参照する 2 つのコンテンツフラグメントにわたるディープクエリを作成すると、null が返されます。 -