19.x

JSSを用いたカスタムレイアウトサービス構成の使用

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

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

レイアウトサービスのJSONレンダリングプロセスは非常に設定可能で、レイアウトサービスの特定の側面をカスタマイズできます。

jssレイアウトサービス構成の任意の要素をカスタマイズしたい場合は、ref属性を使って既存の構成をコピーし、その要素内でカスタマイズすることをお勧めします。これにより、アップグレード時にjss設定が変更された場合に設定の変更を減らすことができます。

!重要JSSで使用されるレイアウトサービスの設定を変更すると、オブジェクトの形状、シリアル化、プレースホルダー処理に変更が生じると、JSS SDKが破損し、JSSインポートプロセスの前提と矛盾することがあります。

シリアライゼーションの設定を変更することで、ユーザーが影響できないJSONデータを変更することができます。シリアライゼーションの設定を変更する際は、JSON出力全体を変更するか、フィールド名だけを変更することができます。例えば、フィールド名をキャメルケースにしたい場合に変更できます。

カスタム構成を定義した後、renderJsonRenderingパイプラインのリストに設定名を追加します。これを行うことで、デフォルトのjss設定で実行されるPlaceholderTransformerコードがカスタム設定でも実行されます。

!注このステップは、カスタム構成がデフォルトのJSS構成と形状が似ている場合にのみ関係します。カスタム構成がJSSと関連しない場合や、デフォルトのjss構成に依存していない場合は、このステップは不要です。

以下は、デフォルトのjss構成に基づくカスタムレイアウトサービス構成の「my-jss-config」のSitecore構成パッチです。

<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
 <sitecore>
 <layoutService>
 <configurations>
 <!-- Define your custom named config, using the \`ref\` attribute to "copy" the existing \`jss\` configuration -->
 <config name="my-jss-config">
 <rendering ref="/sitecore/layoutService/configurations/config@name='jss'/rendering">
 <!-- Override placeholdersResolver -->
 <placeholdersResolver type="My.Resolver, My.Assembly">
 </rendering>
 <serialization ref="/sitecore/layoutService/configurations/config@name='jss'/serialization" />
 </config>
 </configurations>
 </layoutService>
 <pipelines>
 <group groupName="layoutService">
 <pipelines>
 <renderJsonRendering>
 <processor type="Sitecore.JavaScriptServices.ViewEngine.LayoutService.Pipelines.RenderJsonRendering.AddComponentName, Sitecore.JavaScriptServices.ViewEngine" resolve="true">
 <AllowedConfigurations hint="list">
 <!-- Custom named config is added to this list -->
 <config id="2">my-jss-config</config>
 </AllowedConfigurations>
 </processor>
 </renderJsonRendering>
 </pipelines>
 </group>
 </pipelines>
 </sitecore>
</configuration>

カスタム設定をパッチで取り付けた後、JSSアプリでlayoutServiceConfiguration属性を使って活用できます。

この設定名はクライアントコード内およびdataApiを使ってレイアウトサービスを呼び出す際にも必ず記載してください(前述の例を参照)。

レイアウトサービス構成

レイアウトサービスの構成は、/sitecore/layoutService/configurationsパスのSitecore構成で見つけることができます。

true

configノードのname属性はレイアウトサービスのURLのconfigパラメータに対応します。

/sitecore/api/layout/render/config?item=path&sc_lang=language&sc_apikey=key&tracking=true|false

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