サーバー側レンダリング ビュー バッグにデータを追加する
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
SitecoreマネージドNode.jsレンダリング エンジンを使用してJSSアプリをサーバー側でレンダリングする場合など、JSSアプリを統合モードで実行する場合、レンダリング エンジンはJSSアプリケーションのサーバー バンドルによって公開されるrenderView関数を呼び出します。
関数のシグネチャは次のとおりです。
data引数で関数に渡される主要なモデル/データは、ルートとコンテキスト データを含むSitecoreレイアウト サービスの出力です。これにより、アプリはREST呼び出しなしで初期化とレンダリングを行うことができ、サーバー側のレンダリングが可能になります。
アプリケーションでサーバー側レンダリングの追加データが必要な場合は、getRenderingEngineViewBagパイプラインを使用して、関数のviewBag引数に追加データを入力できます。デフォルトでは、JSSには、レンダリングされたアイテムの言語がviewBag.languageとして含まれ、アプリケーションの翻訳辞書がviewBag.dictionaryとして含まれ、ディクショナリアイテムのサーバー側レンダリングが容易になります。
viewBag引数にさらにデータを追加するには、getRenderingEngineViewBagパイプラインを拡張する必要があります。
viewBag引数にさらにデータを追加するには:
-
Sitecoreソリューションで、新しいプロセッサを作成します。例えば:
-
Sitecoreに、getRenderingEngineViewBagパイプラインのデフォルト プロセッサではなく、カスタム プロセッサAddExampleDataを使用するように指示します。設定パッチ (App_Config/Include/CustomViewBagPipeline.configなど) を作成し、次の設定を追加します。
-
JSSアプリケーションで、追加データを操作できるようになりました。例えば:
メモ引数dataとviewBagに含まれるデータは、JSONシリアル化プロセスを制御するためのJSON文字列です。