ASP.NET Coreレンダリングのレイアウトとサイトの要件
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
前に アプリを統合した場合は、従来の ASP.NET Core Rendering SDKバージョン22以前を使用しています。このSDKは更新を受け取っていないため、新しい の最新バージョンにアップグレードすることをお勧めします。
Sitecoreレイアウト サービスとASP.NET Coreレンダリングのサイトとレイアウト構造を構築する場合、Sitecore MVCを使用した開発とはいくつかの重要な違いがあります。サイトを構築する際や、既存のコンテンツをASP.NET Coreで使用するために再構築する際には、これらの点に留意してください。
これらの違いは、JSSを使用したことのある開発者、特にSitecoreファーストのワークフローを使用する場合にはおなじみのものです。
サイト定義の構成
レンダリング ホストがサイトのフロント ドアである場合でも、レイアウト サービスで使用するには、構成された サイト定義 が必要です。ASP.NET Coreレンダリング サイトのサイト定義を構成する場合:
-
Sitecoreサイトの場合と同様にrootPathを設定します。
-
hostName URLまたはtargetHostName URLを、Content Delivery (CD) サーバーの外部向けホスト名として構成します。このホストは、Layout ServiceがメディアライブラリのURLを出力するときに使用されます (CDNを使用していない場合)。
-
サイトのnameは、レイアウト サービス クライアントの 既定の要求値で構成する必要があります。
エクスペリエンスエディターサポートの設定
エクスペリエンス エディターをサポートするには、レイアウト、サイト ルート、アプリ構成を適切に構成する必要があります。
JSONレンダリングの使用
ASP.NET Coreサイトで使用する新しいレンダリングを作成する場合は、コントローラー レンダリングやビュー レンダリングなどのSitecore MVCレンダリング タイプを使用しないでください。常にJSONレンダリング (/sitecore/templates/Foundation/JavaScript Services/Json Rendering) を使用します。
このレンダリング タイプは、ASP.NET Coreコンポーネントがレンダリングに必要なデータを使用して、レイアウト サービスによってシリアル化されます。Jsonレンダリングの重要なフィールドは次のとおりです。
|
畑 |
形容 |
|---|---|
|
コンポーネント名 |
これにより、レイアウトサービス出力のcomponentNameプロパティが入力されます。 レンダリングエンジンでコンポーネントを設定する場合、これはマッピングする名前です。 |
|
データソースの場所 |
Sitecore MVC開発と同じように動作します。 |
|
データソーステンプレート |
Sitecore MVC開発と同じように動作します。 |
|
エクスペリエンス エディターで常にフィールド エディター ボタンを表示する |
エクスペリエンス エディターのコンポーネントでフィールド エディターを有効にし、非インライン フィールド タイプの編集に便利です。 |
|
フィールドエディタの表示フィールド |
上記のフィールドエディタのフィールドを設定します(デフォルトはすべてのフィールドです)。 |
|
キャッシュ可能(および関連) |
コンポーネントの出力キャッシュを設定します。レイアウト・サービスの出力キャッシングの実装を参照してください。 |
|
レンダリング コンテンツ リゾルバー |
レンダリング用のデータを出力するときに、カスタムシリアル化構成/C#クラスを指定できます。「コンテンツ リゾルバを使用したレンダリングの作成」を参照してください。 |
|
レイアウト サービス プレースホルダー |
大事な アイテムの完全な構造化レイアウトを出力するには、レイアウト サービスはレンダリング上に存在するプレースホルダーを認識する必要があります。 これらの公開されたプレースホルダーを検出可能にするために、レイアウト サービスはこのフィールドをSitecoreレンダリング定義に追加します。 このレンダリングで使用する子プレースホルダーを選択します (例: <sc-placeholder name="child-placeholder"></sc-placeholder>)。 |
動的プレースホルダーキーの使用
わかりやすくするために、Layout Serviceでは、ルート プレースホルダー (通常はヘッダー、メイン、フッターなど) 以外のすべてのプレースホルダーが 動的プレースホルダーであると想定しています。
つまり、ページのレイアウト内のコンポーネントをレイアウトサービスで出力するには、{placeholder key}-{rendering unique id}-0の形式の動的プレースホルダーキーを使用して、それらのコンポーネントをアドレス指定する必要があります。例えば:
つまり、コンテンツ エディターを使用してページにレンダリングを追加することは、通常は実用的ではありません。
代わりに、エクスペリエンス エディターでページを開くと、必要なキーが計算されます。エクスペリエンス エディターの 公開 リボンから __Standard Valuesアイテムを開くこともできます。
レイアウト サービスでは、インデックス付き動的プレースホルダはサポートされていません。キーの最終的な値は常に0です。