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

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

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

このページの翻訳は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の形式の動的プレースホルダーキーを使用して、それらのコンポーネントをアドレス指定する必要があります。例えば:

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

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

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

手記

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

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