1. ヘッドレス

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

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

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

SXAでは、データをJSON (JavaScript Object Notation) でモデル化できます。たとえば、モバイル アプリを構築してSXAコンテンツを供給する場合、ページ上のJSONコンテンツを編集して、HTMLではなくJSONでコンテンツを出力できます。

SXA and JSON overview

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

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

既定では、JSON機能はテナントとサイトに追加されます。 Create a tenantウィザードとCreate a new Experience Accelerator siteウィザードの両方で、JSON機能が選択されています。

Select JSON in the SXA wizards.

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

JSONレイアウト

SXA JSONデバイスは、JSON Layoutフォルダー (sitecore/Layout/Feature/Experience Accelerator/JSON Layout) に保存されている別のレイアウトを使用します。エクスペリエンス エディターでJSONデバイスに切り替えると、JSONレイアウトが使用されていることがわかります。

JSON layout

JSONレンダリング

JSONレイアウトを作成するために使用できる特別なレンダリングがあります。これらのレンダリングはsitecore/Tenant/Site/Presentation/Available Renderings/JSON.すぐに使用できるJSONレンダリングは3つあります。

  • JSON Content – JSONレンダリングとJSONバリアントを使用してページのフィールドを表示します。

  • JSON List - 事前定義済クエリまたは構成済クエリによるページのリストを表示します。

  • JSON Results - 検索クエリの結果を表示します。

JSONバリアント

JSONレンダリングの追加フィールドをサポートするために、JSONバリアントを作成できます。JSONバリアントは、JSONレンダリングのグループ化アイテム ( sitecore/Tenant/Site/Presentation/Rendering Variants/JSON contentなど) に保存されます。

表示するフィールドを定義するには、レンダリング バリアントに子アイテムを追加します。これを行うには、バリアントを右クリックし、Insertをクリックしてから、関連するアイテムをクリックします。

次の子アイテムをJSONバリアントに追加できます。

  • JSON Checkbox– Checkboxタイプのフィールドの値をさまざまなモードでレンダリングする特別なJSONバリアントフィールド。

  • JSON Date – 日付と時刻をカスタム形式でレンダリングします。

  • JSON Field – フィールドをHTMLでレンダリングします。

  • JSON File – ファイルへのリンクを出力するファイルフィールドのJSONレンディション。

  • JSON Image –さまざまなモードでImageタイプのフィールドの値をレンダリングする特殊なJSONバリアントフィールド。

  • JSON Multilist Reference – Multilist派生フィールドで定義された参照に対する列挙を提供する特別なJSONフィールド値。子項目を使用して、レンダリングする内容を決定します。たとえば、すべてのページとそのタイトルが一覧表示されます。

  • JSON Placeholder – JSONコンテンツレンダリング内でJSONリストをロードするなど、プレースホルダーを提供します。

  • JSON Reference – リンクされたアイテムからコンテンツをレンダリングできます。 PassThroughFieldフィールドで参照として使用するフィールドを定義します。このバリアント フィールドは、LinkField (GeneralLink、DropLink)、FileField (ファイル)、ImageField (イメージ)、ReferenceField (Droptree) のフィールドで使用できます。参照アイテムには、子アイテムとして他のJSONレンダリングアイテムが含まれている必要があります。これは、レンダリングされたアイテムからアイテムがリンクされており、そのアイテムのフィールドを表示する場合に便利です。バリアントの詳細 セクションに名前を追加することで、追加のJSONオブジェクトを作成できます。

  • JSON Section – フィールドのグループ化に使用されます。このレンダラーには、( Nameなどのフィールドが含まれています (その下の子レンダラーのラッピング要素を作成するため)。セクション項目をネストして、より複雑なバリアント構造を作成できます。

  • JSON Text - テキストを表示し、説明などのカスタム文字列をレンダリングするために使用されます。次のフィールドを使用できます: Name (テキストのプロパティ名を定義)、Text (レンダリングするテキストを含む)。

  • JSON Token – SXAは次のトークンをサポートしています: $id (アイテムのIDをレンダリングします)。$size (アタッチされたアセットのサイズを書式設定します)。$name (アイテムの名前をレンダリングします)。と $FileTypeIcon (ファイル拡張子と等しいCSSクラスを持つスパンをレンダリングします)。カスタムresolveVariantTokensパイプラインは、バリアントトークンのセットを拡張するために使用されます。

  • JSON Rich Text – JSONコンポーネントにリッチテキストフィールドを表示します。フィールドは、提供されているモードのいずれかを使用してレンダリングできます (たとえば、出力前にクリーンアップしてHTMLタグをフィールドから取り除くことができます)。

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

Field

Description

モード

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

  • Raw – 未加工のSitecore値、書式設定されていないデータをレンダリングします。

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

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

  • Plain – アイテムをプレーンテキストとしてレンダリングします。

  • Path - アイテムのパスをレンダリングします。

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

Trueの値

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

Falseの値

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

名前

JSONプロパティ名を上書きします。 JSON Referenceフィールドの名前を追加することで、追加のオブジェクトを作成できます。

フィールド名

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

パススルーフィールド

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

日付形式

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

テキスト

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

トークン

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

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

  • $FileTypeIcon – ファイル拡張子に応じたアイコンが表示されます。

この記事を改善するための提案がある場合は、 お知らせください!