---
title: "製品リストのレンダリング選び"
slug: "choosing-between-available-renderings-for-product-lists"
abstract: "製品リスト、宣伝商品、Commerce Search結果のレンダリングに関する技術的な詳細と、なぜどちらを選ぶのか。"
---
# 製品リストのレンダリング選び

Commerce Search Resultsレンダリングを使って [オンラインで製品リストをレンダリング](https://doc.sitecore.com/xp/en/users/100/sitecore-experience-commerce/en/render-a-product-list-online.html)できます。このレンダリングは標準SXA Search Resultsレンダリングおよび[Searchサービス](https://doc.sitecore.com/xp/en/developers/sxa/100/sitecore-experience-accelerator/en/the-sxa-search-service.html)に基づいています。レンダリングバリアントやScribanテンプレートの使用が含まれます。

Commerce Search Resultsレンダリングは、以下の主な違いを含み、SXA Search Resultsレンダリングとほぼ同一です。

-   翻訳を取り入れた修正された [MVCビュー](https://doc.sitecore.com/xp/ja/developers/101/sitecore-experience-commerce/commerce-search-results-mvc-view.html "Commerce Search Results MVC view") を使用しています。
-   レンダリング中の商品リストに対して、Commerce Engineから [商品価格や在庫状況を要求](https://doc.sitecore.com/xp/ja/developers/101/sitecore-experience-commerce/understanding-asynchronous-calls-and-caching.html "Understanding asynchronous calls and caching") する機能があります。JavaScriptが追加され、2回目のAJAXコールで情報を要求し、その後データをバインドします。
-   SXA Search Resultsコンポーネントで使われるルートとは別のレンダリングバリアントルートがあります。

以下の表は、製品リストのレンダリング方法の違いを詳しく説明します。

違い

Commerce Search 結果のレンダリング

製品リストとプロモート製品のレンダリング

Sitecore 9.3以降で利用可能

Sitecore 9.0以降で利用可能

製品リストの利用可能なレンダリング数

製品リストをレンダリングする必要があるすべてのシナリオで1つのレンダリングが利用可能です。このレンダリングは、ContentSearchクエリを含むコンテンツに定義された標準的なSXAスコープを使用します。動的クエリトークンは検索結果の決定に使用されます。詳細は「 [Commerce Search Scopeを作成する](https://doc.sitecore.com/xp/ja/developers/101/sitecore-experience-commerce/define-a-commerce-search-scope.html)」を参照してください。

製品リストをレンダリングする必要がある異なるシナリオ向けに2つのレンダリングが用意されています。これらのレンダリングは似ていますが、異なるコードが背後にあり、異なるクエリを実行して各シナリオでレンダリングする製品を取得します。  
  
Promoted Productsレンダリングはコンテンツ内で定義されたクエリを実行しますが、動的クエリトークンの使用はできません。一方、Product Listレンダリングは、現在のコンテキストアイテム(カテゴリを前提とした場合)またはクエリ検索語(クエリパラメータとして提供されている場合)に基づいてカタログをクエリします。

カスタマイズ

このレンダリングはレンダリングバリアントをサポートしており、出力を生成するScribanテンプレートが含まれています。デフォルトの実装は、製品カートのみを担当するScribanテンプレートに基づいています。

両方のレンダリングのHTML出力をカスタマイズするには、すべての変更に対してMVCビューを上書きする必要があります。両方のレンダリングは製品カードの全リストを出力する責任があるため、製品カードの変更を行うにはコンポーネント全体をカスタマイズする必要があります。

パーソナライズ

パーソナライズはレンダリング、製品カード、商品カード内のあらゆるレベルで可能で、レンダリングバリアントや [Scribanテンプレート](https://doc.sitecore.com/xp/en/developers/sxa/100/sitecore-experience-accelerator/en/scriban-templates.html)の両方でパーソナライズをサポートしています。

製品カードレベルでのパーソナライズは一切可能ではありません。コンポーネントレベルでのみ利用可能です。

AJAXコール数

デフォルトでは1つのAJAXコールが使われます。ただし、これを2つの [AJAXコール](https://doc.sitecore.com/xp/ja/developers/101/sitecore-experience-commerce/understanding-asynchronous-calls-and-caching.html) を使うように変更することも可能です。1つはSXA Searchサービスに行き、レンダリングバリアントサーバー側の処理によって生成される製品リストのHTMLを取得します。もう1つはKnockout JSを使ってHTMLにバインドされたまとめた価格と在庫情報を取得します。

1つのAJAXコールでJSONを返し、これはKnockout JSを使ってMVCビューで定義された静的HTMLにバインドされています。JSONには製品データだけでなく、価格や在庫情報も含まれます。

キャッシュとパフォーマンス

キャッシュはレンダリングに組み込まれていませんが、 [Content Delivery Networks](https://docs.microsoft.com/en-us/azure/cdn/cdn-overview) (CDN)でサポートされています。商品データは1回のAJAXコールで取得し、価格や在庫情報は2回目のAJAXコールで取得するため、両方とも別々にキャッシュ可能です。価格や在庫情報をリアルタイムで取得しながら、主要な製品データのキャッシュをサポートします。

製品リストレンダリングには、AJAXコールのキャッシュを内蔵しています。 [キャッシュ](https://doc.sitecore.com/xp/ja/developers/101/sitecore-experience-commerce/configure-the-product-list-cache.html) はCDインスタンスレベルで行われ、ジオ認識や理解性や機能性はCDNほど高くありません。Promoted Productsレンダリングにはキャッシュの組み込みサポートはありませんが、CDNを用いてAJAXコールのキャッシュはサポートされています。両方のレンダリングにおいて、AJAXコールのキャッシュを有効にすることは価格情報や在庫情報のキャッシュも含みますが、望ましくない場合があります。

サポートの提供

標準的なSXA検索レンダリングと互換性があります。レンダリングのいくつかはレンダリングバリアントをベースにしており、Scribanテンプレートをサポートしています。

ページングや無限スクロール用の商取引特有の検索レンダリングのみをサポートしており、レンダリングバリアントやScribanテンプレートに基づいていません。

製品ランキング

ContentSearchクエリとともに、範囲内で定義されたルールを用いてサポートされています。検索結果の [Sort](https://doc.sitecore.com/xp/ja/developers/101/sitecore-experience-commerce/create-and-configure-a-sort-order-for-a-list-of-products.html) Commerce search resultsおよび [Boost products](https://doc.sitecore.com/xp/ja/developers/101/sitecore-experience-commerce/boost-products-in-search-results-for-commerce.html)をご覧ください。

サポートされていません。

機能範囲

SXA Searchレンダリングのセットは、新しい [集約](https://doc.sitecore.com/xp/en/users/sxa/100/sitecore-experience-accelerator/en/use-the-sxa-search-filter-components.html) 面や面の概要レンダリングを含む非常に充実しています。

商取引特化した検索レンダリングのセットは限られています。

Search behavior tracking

集約されたファセットやソート結果レンダリングの変更は、FacetApplydおよびProductSortingイベントをトリガーします。 [イベント](https://doc.sitecore.com/developers/sxa/93/jsdoc-search-components/en/XA.component.search.vent.html) データはコレクションDBに記録されます。

ページイベントはSearch Initiatedレンダリングによってトリガーされます。

> !注更新されたレンダリングはカスタマイズの柔軟性が増していますが、ページの読み込み時間に影響を与える可能性があります。