[AEM Sites]{class="badge positive" title="AEM Sitesに適用)。"}

コンテンツフラグメントモデルの定義 defining-content-fragment-models

Adobe Experience Manager(AEM)as a Cloud Service のコンテンツフラグメントモデルでは、コンテンツフラグメントのコンテンツの構造を定義します。 これらのフラグメントは、ページオーサリングまたはヘッドレスコンテンツの基盤として使用できます。

このページでは、専用のエディターを使用してコンテンツフラグメントモデルを定義する方法について説明します。 コンテンツフラグメントコンソールから実行できるアクションフォルダーでのモデルの許可モデルの公開など、フラグメントの作成後に実行できるタスクとオプションについて詳しくは、コンテンツフラグメントモデルの管理を参照してください。

NOTE
コンテンツフラグメントモデルとコンテンツフラグメントを操作する場合は、​ ベストプラクティス ​に注意してください。
CAUTION
複数の参照されたフラグメントに対してクエリを実行する場合は、様々なフラグメントモデルに同じ名前でタイプが異なるフィールド名を付けることはお勧めしません。
詳しくは、コンテンツフラグメントと共に使用する AEM GraphQL API - 制限事項を参照してください。
NOTE
この新しいエディターでモデルを作成する場合は、常にそのモデルにこのエディターを使用する必要があります。
次に、元のモデルエディターでモデルを開くと、次のメッセージが表示されます。
  • 「このモデルにはカスタム UI スキーマが設定されています。 このUIに表示されるフィールドの順序は、UI スキーマと一致しない可能性があります。 UI スキーマに沿ったフィールドを表示するには、新しいコンテンツフラグメントエディターに切り替える必要があります。」

コンテンツフラグメントモデルの定義 defining-your-content-fragment-model

コンテンツフラグメントモデルは、データタイプ​の選択を使用して、結果として得られるコンテンツフラグメントの構造を効果的に定義します。 モデルエディターを使用して、データタイプのインスタンスを追加し、それらを設定して必須フィールドを作成できます。

CAUTION
既存のコンテンツフラグメントで既に使用されているモデルを編集すると、それらの依存フラグメントに影響を与える可能性があります。
  1. コンテンツフラグメントコンソールで、コンテンツフラグメントモデルのパネルを選択し、コンテンツフラグメントモデルが格納されているフォルダーに移動します。

    note
    NOTE
    また、モデルを作成した後に直接開くこともできます。
  2. 編集​に必要なモデルを開きます。クイックアクションリンクのいずれかを使用するか、モデルを選択してからツールバーからアクションを選択します。

    プロパティ

    モデルを開くと、モデルエディターに以下の情報が表示されます。

    • 上位:

      • ホーム アイコン
      • originalと新しいエディターを切り替えるオプション
      • キャンセル
      • 保存
    • 左:フィールドの作成に使用できる​データタイプ

    • 中間:フィールドは既に​追加 オプションと共に定義されています

    • 右:右端のアイコンを使用すると、次のいずれかを選択できます。

      • プロパティ:選択したフィールドのプロパティを定義して表示します
      • モデルの詳細: 有効​状態、モデルタイトルタグ説明​および​ プレビューURL ​を表示します
  3. フィールドを追加するには

    • 以下のいずれかの操作を行います。

      • 左側のパネルから、中央のパネルのフィールドの必要な場所にデータタイプをドラッグします。
      • データタイプで​+ アイコンを選択して、フィールドリストの下部に追加します。
      • 中央のパネルで「追加」を選択し、結果のドロップダウンリストから必要なデータタイプを選択して、リストの下部にフィールドを追加します。
      note
      NOTE
      タブ プレースホルダー フィールドは、常に既存のフィールドの上に表示する必要があります。
    • フィールドボックスの左側にあるドットの配置を使用して、フィールドの位置を変更できます。

      ​ フィールドを移動

    • フィールドがモデルに追加され(および選択されると)、右側のパネルには、特定のデータタイプに定義できる​ プロパティ ​が表示されます。 ここでは、キャンペーンのターゲティングに必要な
      フィールド。

      • 多くのプロパティは自明です。詳しくは、プロパティ(データタイプ)を参照してください。

      • フィールドラベル」を入力すると、「プロパティ名」が空欄の場合は自動入力され、後で手動で更新できます。

        note caution
        CAUTION
        データタイプのプロパティの「プロパティ名」を手動で更新する場合、名前には、A~Z、a~z、0~9 および特殊文字のアンダースコア「_」のみ​を使用することができます。
        以前のバージョンの AEM で作成されたモデルに不正な文字が含まれている場合は、それらの文字を削除または更新します。

      例:

      フィールドのプロパティ

      note
      NOTE
      フィールドが​ Required ​として定義されている場合、中央のペインに表示されている​ Label ​にはアスタリスク (*)が付けられます。
  4. フィールドを削除するには

    中央のパネルで、適切なフィールドのゴミ箱アイコンを選択します。

    削除

  5. すべての必須フィールドを追加し、必要に応じて関連するプロパティを定義します。

  6. 保存」を選択して、定義を保持します。

データタイプ 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 が返されます。
recommendation-more-help
experience-manager-cloud-service-help-main-toc