1. Sitecore ASP.NETレンダリングSDK (レガシー)

ASP.NET Coreレンダリングのレイアウトとサイトの要件

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

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

大事な

September 2024より前にASP.NET Coreアプリを統合した場合は、従来の ASP.NET CoreレンダリングSDKバージョン22以前が使用されています。このSDKは更新プログラムを受け取らなくなったため、新しい ASP.NET Core SDKの最新バージョンにアップグレードすることをお勧めします。

Sitecore Layout ServiceとASP.NET Coreレンダリング用のサイトとレイアウト構造を構築する場合、Sitecore MVCを使用した開発とはいくつかの重要な違いがあります。サイトを構築するとき、またはASP.NET Coreで使用するために既存のコンテンツを再構築するときは、これらに留意してください。

メモ

これらの違いは、JSSを使用したことのある開発者、特にSitecoreファーストのワークフローを使用する場合にはおなじみのものです。

サイト定義の構成

レンダリング ホストがサイトのフロント ドアである場合でも、レイアウト サービスで使用するには、構成された サイト定義 が必要です。ASP.NET Coreでレンダリングされたサイトのサイト定義を構成する場合:

  • rootPathは、他のSitecoreサイトの場合と同様に構成します。

  • hostName URLまたはtargetHostName URLをContent Delivery (CD) サーバーの外部向けホスト名として構成します。このホストは、レイアウトサービスがメディアライブラリの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の形式の動的プレースホルダーキーを使用して、それらのコンポーネントをアドレス指定する必要があります。例えば:

/main/accordion-{3A59ED89-58AB-4B51-8F9C-6100453DDFEC}-0

つまり、コンテンツ エディターを使用してページにレンダリングを追加することは、通常は実用的ではありません。

代わりに、エクスペリエンス エディターでページを開くと、必要なキーが計算されます。エクスペリエンス エディターの 公開 リボンから __Standard Valuesアイテムを開くこともできます。

手記

レイアウト サービスでは、インデックス付き動的プレースホルダはサポートされていません。キーの最終的な値は常に0です。

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