SXA データ モデリングの紹介
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
SXA を使用すると、データを JSON (JavaScript Object Notation) でモデリングできます。たとえば、モバイル アプリを作成して SXA コンテンツをフィードする場合、ページで JSON コンテンツを編集して、HTML ではなく JSON でコンテンツを出力できます。
JSON 機能は、SXA コンテンツにアクセスするための JSON API を提供します。サイトのコンテンツには、JSON 形式の Web サービス API を介してアクセスできます。
SXA データ モデリングを有効にする
デフォルトで、JSON 機能がテナントとサイトに追加されています。[テナントを作成] ウィザードでも [新しい SXA サイトを作成] ウィザードでも JSON 機能は選択されています。
JSON レンダリングの操作を開始する前に、JSON デバイスに切り替える必要があります。
JSON レイアウト
SXA JSON デバイスは、[JSON レイアウト] フォルダー (sitecore/レイアウト/機能/エクスペリエンス アクセラレータ/JSON レイアウト) に格納されている別のレイアウトを使用します。エクスペリエンス エディターで JSON デバイスに切り替えると、JSON レイアウトが使用されていることがわかります。
JSON レンダリング
JSON レイアウトの構築に使用できる特別なレンダリングがあり、sitecore/テナント/サイト/プレゼンテーション/Available Renderings/JSON に保存されています。すぐに使用できる JSON レンダリングは 3 つあります。
-
[JSON コンテンツ] – JSON レンダリングと JSON バリアントを使用してページのフィールドを表示します。
-
[JSON リスト] – 事前定義または構成されたクエリごとにページのリストを表示します。
-
[JSON の結果] – 検索クエリの結果を表示します。
JSON バリアント
JSON レンダリングの追加フィールドをサポートするために、JSON バリアントを作成できます。JSON バリアントは、JSON レンダリングのグループ化アイテムに保存されます (たとえば、sitecore/テナント/サイト/プレゼンテーション/ Rendering Variants/JSON content)。
表示されるフィールドを定義するには、子アイテムをレンダリング バリアントに追加します。これを行うには、バリアントを右クリックして、[挿入] をクリックしてから、該当するアイテムをクリックします。
JSON バリアントに追加できる子アイテム次のとおりです。
-
[JSON チェックボックス] – さまざまなモードでタイプ チェックボックスのフィールドの値をレンダリングする特別な JSON バリアント フィールド。
-
[JSON 日付] – 日付と時刻をカスタム形式で表示します。
-
[JSON フィールド] – HTML でフィールドをレンダリングします。
-
[JSON ファイル] – ファイルへのリンクを出力するファイル フィールドの JSON レンディション。
-
[JSON 画像] – さまざまなモードで画像タイプのフィールドの値をレンダリングする特殊な JSON バリアント フィールド。
-
[JSON マルチリスト リファレンス] – マルチリスト派生フィールドで定義された参照の列挙を提供する特別な JSON フィールド値。子アイテムを使用して、何をレンダリングするかを決定します。たとえば、すべてのページとそのタイトルを一覧表示できます。
-
[JSON プレースホルダー] – プレースホルダーを提供します。JSON コンテンツ レンダリング内で JSON リストをロードするためのプレースホルダーなど。
-
[JSON リファレンス] – リンクされたアイテムからコンテンツをレンダリングできます。"パススルーフィールド" フィールドで参照として使用するフィールドを定義します。このバリアント フィールドは、[リンクフィールド] (ゼネラルリンク、ドロップリンク)、[ファイルフィールド] (ファイル)、[画像フィールド] (画像)、[参照フィールド] (ドロップツリー) に使用できます。参照アイテムには、他の JSON レンダリング アイテムを子アイテムとして含める必要があります。これは、レンダリングされたアイテムからリンクされたアイテムがあり、そのアイテムのフィールドを表示する場合に便利です。バリアントの詳細セクションに名前を追加することで、追加の JSON オブジェクトを作成できます。
-
[JSON セクション] – フィールドのグループ化に使用されます。このレンダラーには、[名前] (下にある子レンダラーのラッピング要素を作成するため) などのフィールドが含まれています。セクション アイテムを入れ子にして、より複雑なバリアント構造を作成できます。
-
[JSON テンプレート] – JSON の一部をレンダリングするために使用される Scriban テンプレートを定義できます。
-
[JSON テキスト] – テキストを表示し、説明などのカスタム文字列を表示するために使用されます。[名前] (テキストのプロパティ名を定義)、[テキスト] (レンダリングされるテキストを含む) などのフィールドを使用できます。
-
[JSON トークン] – SXA は $id (アイテムの ID をレンダリングします)、$size (添付されたアセットのサイズをフォーマットします)、$name (アイテムの名前をレンダリングします)、$FileTypeIcon (ファイル拡張子に等しいCSSクラスでスパンをレンダリングします) をサポートします。カスタムの
resolveVariantTokens
パイプラインは、バリアント トークンのセットを拡張するために使用されます。 -
[JSON リッチ テキスト] – JSON コンポーネントにリッチ テキスト フィールドを表示します。提供されたモードのいずれかを使用してフィールドをレンダリングできます (たとえば、出力前にクリーンアップして、HTML タグを削除できます)。
追加するアイテムに応じて、さまざまなフィールドを設定できます。
フィールド |
説明 |
---|---|
モード |
レンダリング バリアントの子アイテムに応じて、モード フィールドをさまざまなビューに設定できます。
|
True の値 |
true に対してレンダリングされる値を決定します。 |
False の値 |
false に対してレンダリングされる値を決定します。 |
名前 |
JSON プロパティ名をオーバーライドします。[JSON リファレンス] フィールドの名前を追加することにより、追加のオブジェクトを作成できます。 |
フィールド名 |
フィールドの現在のアイテムの名前。 |
パススルーフィールド |
別のアイテムへのリンクを格納するフィールドの名前を定義します。たとえば、リンクなどの単純な参照、またはツリー リストなどの複数参照フィールドです。 |
日付形式 |
ドロップダウン リストから日付形式を選択します。 |
テンプレート |
コンポーネント バリアント HTML の一部をレンダリングする Scriban テンプレートを定義します。 |
テキスト |
レンダリングするテキストです。 |
トークン |
特別なトークンを使用して、特定のフィールド値の書式を設定します。次のトークンがサポートされています。
|