SXA データ モデリングの紹介

Version: 10.1
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

SXA を使用すると、データを JSON (JavaScript Object Notation) でモデリングできます。たとえば、モバイル アプリを作成して SXA コンテンツをフィードする場合、ページで JSON コンテンツを編集して、HTML ではなく JSON でコンテンツを出力できます。

SXA と JSON の概要

JSON 機能は、SXA コンテンツにアクセスするための JSON API を提供します。サイトのコンテンツには、JSON 形式の Web サービス API を介してアクセスできます。

SXA データ モデリングを有効にする

デフォルトで、JSON 機能がテナントとサイトに追加されています。[テナントを作成] ウィザードでも [新しい SXA サイトを作成] ウィザードでも JSON 機能は選択されています。

SXA のウィザードで JSON を選択します。

JSON レンダリングの操作を開始する前に、JSON デバイスに切り替える必要があります。

JSON レイアウト

SXA JSON デバイスは、[JSON レイアウト] フォルダー (sitecore/レイアウト/機能/エクスペリエンス アクセラレータ/JSON レイアウト) に格納されている別のレイアウトを使用します。エクスペリエンス エディターで 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 タグを削除できます)。

追加するアイテムに応じて、さまざまなフィールドを設定できます。

フィールド

説明

モード

レンダリング バリアントの子アイテムに応じて、モード フィールドをさまざまなビューに設定できます。

  • [Raw] – Raw の Sitecore 値、フォーマットされていないデータをレンダリングします。

  • [テキスト] – テキストをレンダリングします。

  • [レンダリング] – フィールド レンダラーを使用して値をレンダリングします。

  • [プレーン] – アイテムをプレーン テキストとして表示します。

  • [パス] – アイテムのパスをレンダリングします。

  • [Guid] – Sitecore 内のアイテムのグローバルに一意の識別子をレンダリングします。

True の値

true に対してレンダリングされる値を決定します。

False の値

false に対してレンダリングされる値を決定します。

名前

JSON プロパティ名をオーバーライドします。[JSON リファレンス] フィールドの名前を追加することにより、追加のオブジェクトを作成できます。

フィールド名

フィールドの現在のアイテムの名前。

パススルーフィールド

別のアイテムへのリンクを格納するフィールドの名前を定義します。たとえば、リンクなどの単純な参照、またはツリー リストなどの複数参照フィールドです。

日付形式

ドロップダウン リストから日付形式を選択します。

テンプレート

コンポーネント バリアント HTML の一部をレンダリングする Scriban テンプレートを定義します。

テキスト

レンダリングするテキストです。

トークン

特別なトークンを使用して、特定のフィールド値の書式を設定します。次のトークンがサポートされています。

  • $Size – サイズ単位に応じてファイルのサイズを表示します。

  • $FileTypeIcon – ファイルの拡張子に応じてアイコンを表示します。

何かフィードバックはありますか?

この記事を改善するための提案がある場合は、