チュートリアル : データ ソースを使用した単純なレンダリングの作成
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
前に アプリを統合した場合は、従来の ASP.NET Core Rendering SDKバージョン22以前を使用しています。このSDKは更新を受け取っていないため、新しい の最新バージョンにアップグレードすることをお勧めします。
このチュートリアルでは、レンダリング エンジンSDKを使用するSitecore開発者の最も一般的なタスクである、厳密に型指定されたモデル オブジェクトにバインドされたデータ ソース アイテムからコンテンツをレンダリングするビューを作成する方法を示します。
このプロセスは、モデルバインド ビュー タイプを使用して行われます。
このチュートリアルでは、Getting StartedテンプレートをMyProjectというプロジェクトで使用していることを前提としています。
この例では、レンダリング ホストは、テキスト、リッチ テキスト、リンク、日付、画像など、いくつかのフィールド タイプを表示します。
このチュートリアルでは、次の方法について説明します。
SitecoreでJSONレンダリングを作成する
SitecoreでJSONレンダリングを作成するには:
-
コンテンツ エディターで、/sitecore/templates/Project/MyProjectの下にDataSourceExampleという名前の新しいテンプレートを作成します。
-
新しいテンプレート セクション (名前は重要ではありません) を作成し、次のフィールドを追加します。
-
Title: 1行テキスト
-
BodyText: リッチテキスト
-
FeaturedImage:画像
-
PromoLink:一般リンク
-
ExampleDate:日付
-
-
「ビルダー・オプション」タブで「標準値」をクリックし、「Title」、「BodyText」、「PromoLink」、および「ExampleDate」フィールドにデフォルト値を入力します。
-
/sitecore/layout/Renderings/Project/MyProjectでDataSourceExampleというJSONレンダリングを作成します。次の値を入力します。
-
Datasource Location: ./
-
Datasource Template:選ぶ sitecore/Templates/Project/My Project/DataSourceExample
-
-
DataSourceExampleレンダリングを/sitecore/layout/Placeholder Settings/Project/MyProject/MyProject-mainプレースホルダーのAllowed Controlsに追加し、「Save」をクリックします。
-
エクスペリエンス エディターで /sitecore/content/MyProject/Homeを開き、新しいレンダリング (データ ソース アイテムの作成など) を追加します。
手記レンダリングホストページでは、レンダリングホストでこのJSONレンダリングにコンポーネントがまだマップされていないため、Unknown componentまたは同様のメッセージが出力されます。
-
すべてのアイテムの変更を公開します。
-
コンテンツ エディターのPublishリボンで、Publishアイコンの横にある小さな黒い矢印をクリックし、Publish siteをクリックします。
-
Publish Siteウィンドウで、アイテムをMasterデータベースからWebデータベースにパブリッシュするには、Smart publishラジオ ボタンを選択し、Publishをクリックします。
-
-
これで、新しいレンダリングの出力をテストできます。
-
レンダリング ホストで、サイトのホーム ページを開きます。
-
PowerShellターミナルに次のコマンドを入力して、レンダリング ホスト ログを取得します。 docker-compose logs -f <rendering-service-name>。 <rendering-app-service-name> プレースホルダーをレンダリングサービスの名前に置き換えます。
先端Docker Compose V2以降を使用している場合は、コマンドdocker compose logs -f <rendering-app-service-name>を使用できます。
または、コマンドdocker logs -f <container-name>を使用することもできます。
Dockerコマンドの詳細については、公式のDocker CLIドキュメントを参照してください。
-
レンダリング ホスト ログで、レイアウト サービスの応答 (追加したコンポーネントを含む) を含むデバッグ出力を表示します。
-
ビューのモデルを作成する
ビューのモデルを作成するには:
-
レンダリング ホストのModelsフォルダに、DataSourceExampleModelという新しいクラスを作成します。
手記このクラスには、IFieldから継承する型のために自動的にデータ バインドされる5つのプロパティが含まれています。
ビューを作成する
ビューを作成するには:
-
レンダリング ホスト プロジェクトのViews\Shared\Components\SitecoreComponentで新しいDataSourceExample.cshtml Razorビューを作成します。
手記これは、組み込みのSitecore Viewコンポーネントを使用したモデルバインド ビューのデフォルトの検索パスです。レンダリングエンジンへのビューの登録を簡単にするために、レイアウトサービスコンポーネントの名前と同じ名前をビューに付けることをお勧めします(JSONレンダリング)。
モデルバインドビューを登録する
モデルバインドビューを登録するには:
-
レンダリング ホスト プロジェクトのStartup.csクラスで、メソッドのAddSitecoreRenderingEngine呼び出しを見つけてConfigureServicesモデル バインド ビューを登録します。
手記ここでモデルバインド ビューを登録するために使用される拡張メソッドは、指定されたレイアウト サービス コンポーネント名がRazorビュー ファイルの名前と一致することを前提としています。
-
作業の開始 テンプレートを使用している場合は、dotnetウォッチ プロセス によって変更が自動的にコンパイルされ、レンダリング ホスト サイトの ホーム ページを更新してコンポーネントの出力を確認できます。コンポーネントヘッダーとデフォルトのコンテンツ値が表示されます。
大事なレンダリング ホスト ログでコンパイル エラーを確認する必要があります。
エクスペリエンス エディターで値を入力します
値を入力するには:
-
エクスペリエンス エディターで、/sitecore/content/MyProject/Homeを開きます。
-
すべてのフィールドに値を入力します。
-
「 Save 」をクリックしてPublish。
-
ホームページを更新し、入力したヘッダーを確認します。
ソリューションを使用するときは、次の点に注意してください。
-
Platformプロジェクトをパブリッシュすると、実行中のcmサービスが更新されます。
-
実行中のレンダリング サービスはdotnet watchを使用し、変更が加えられると自動的に再コンパイルされます。Visual Studioから直接renderingプロジェクトを実行することもできます。