ASP.NETコアレンダリングのレイアウトおよびサイトの要件
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
!重要以前にアプリを統合していた場合、それは旧版のASP.NETコアレンダリングSDK(バージョン22以前)を使用しています。このSDKは更新を受け取っていないため、最新のバージョンへのアップグレード をお勧めします。
Sitecore Layout ServiceやASP.NET Coreレンダリング用のサイトやレイアウト構造を構築する際には、Sitecore MVCを使った開発との間に重要な違いがあります。これらの点を念頭に置いてください。サイトを構築したり、既存のコンテンツをASP.NET Coreで利用できるように再構成したりする際に。
!注これらの違いは、JSSを扱ったことのある開発者にとっては馴染み深いものであり、特にSitecoreファーストのワークフローを使う場合に顕著です。
サイト定義の設定
レンダリングホストがサイトの正面玄関であっても、レイアウトサービスで使用するためには設定済み のサイト定義 が必要です。ASP.NETコアのレンダリングサイトでサイト定義を設定する際:
- rootPathは他のSitecoreサイトと同様に設定してください。
- hostNameまたはtargetHostNameURLをContent Delivery(CD)サーバーの外部向けホスト名として設定してください。このホストは、レイアウトサービスがメディアライブラリURLを出力する際に使われます(CDNを使わない場合は)。
- サイト name はレイアウトサービスクライアントの デフォルトリクエスト値で設定されているはずです。
エクスペリエンスエディターサポートの設定
エクスペリエンスエディターをサポートするには、レイアウト、サイトルート、アプリ設定を適切に設定する必要があります。
JSONレンダリングの使用
ASP.NET Coreサイトで使う新しいレンダリングを作成する際は、コントローラーレンダリングやビューレンダリングなどのSitecore MVCレンダリングタイプは使わないでください。必ずJsonレンダリング(/sitecore/templates/Foundation/JavaScript Services/Json Rendering)を使いましょう。
このレンダリングタイプは、レイアウトサービスによってASP.NETコアコンポーネントのレンダリングに必要なデータでシリアライズされます。Jsonレンダリングで重要なフィールドには以下が含まれます:
フィールド
概要
コンポーネント名
これにより、レイアウトサービスの出力に componentName プロパティが入力されます。 レンダリングエンジンでコンポーネントを設定する際、この名前にマッピングします。
データソースの所在地
Sitecore MVCの発達時と同じ挙動をします。
データソーステンプレート
Sitecore MVCの発達時と同じ挙動をします。
Experience Editorで常にフィールドエディターのボタンを表示する
エクスペリエンスエディターのコンポーネント上でフィールドエディタを有効にし、非インラインフィールドタイプの編集に役立ちます。
フィールドエディタ表示フィールド
上記のフィールドエディタのフィールドを設定します(デフォルトはすべてのフィールドです)。
キャッシュ可能(および関連ファイル)
コンポーネントの出力キャッシュを設定します。レイアウトサービスについては「出力キャッシュの実装」を参照してください。
レンダリングコンテンツリゾルバ
レンダリング用のデータを出力する際に、カスタムのシリアライゼーション構成やC#クラスを指定することができます。詳細は「内容リゾルバによるレンダリングの作成」を参照してください。
レイアウトサービスプレースホルダー
>[!重要]
> アイテムの完全な構造化レイアウトを出力するために、レイアウトサービスはレンダリング上に存在するプレースホルダーを知る必要があります。
> これらの露出したプレースホルダーを発見可能にするために、レイアウトサービスはこのフィールドをSitecoreレンダリング定義に追加します。
> このレンダリングで使いたい子プレースホルダー(例:
動的プレースホルダーキーの使用
簡単さのため、レイアウトサービスはルートのプレースホルダー(通常はヘッダー、メイン、フッターなど)以外のすべてのプレース ホルダーが動的プレースホルダーであると仮定しています。
つまり、ページのレイアウト内のコンポーネントをレイアウトサービスで出力するには、フォーマット {placeholder key}-{rendering unique id}-0の動的プレースホルダーキーでアドレス指定する必要があります。例えば:
/main/accordion-{3A59ED89-58AB-4B51-8F9C-6100453DDFEC}-0
つまり、コンテンツエディターを使ってページにレンダリングを追加するのは通常非現実的です。
代わりに、エクスペリエンスエディターでページを開くと、必要なキーが計算されます。また、PublishリボンからExperience Editorの__Standard Values項目を開くことも可能です。
!注レイアウトサービスはインデックス付き動的プレースホルダーをサポートしていません。キーの最終値は常にゼロです。