チュートリアル: カテゴリ別のビジュアル ナビゲーションの設定
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
通常のメニューをレンダリングするだけではなく、より視覚的な方法でカテゴリ別にナビゲートしたい場合は、SXA の検索結果レンダリングを使用して、クエリで画像付きのカテゴリを表示することができます。
この手順では、Storefront サイト テンプレートと Habitat カタログを使用することを前提としていますが、カスタム カタログやサイトにも同様の手順が適用されます。
ネストされた sc_search メソッドを使用するように Scriban テンプレートのサンプルを拡張するか、レンダリング バリアントの各レベルの Scriban テンプレートをネストすることで、この構成を拡張して複数のレベルのカテゴリをリストアップすることができます。
このチュートリアルでは、次の方法を説明します。
検索範囲とクエリの作成
検索範囲とクエリを設定するには:
-
コンテンツ エディターで、/sitecore/Content/<テナント>/<サイト>/Settings に移動します。
-
[スコープ] を右クリックし、[スコープ]、[挿入] の順にクリックします。
-
[メッセージ] ダイアログ ボックスで、「カテゴリ カタログ スコープ」と入力し、「OK] をクリックします。
-
[スコープ] セクションの [コンテンツ] タブで、[バケット クエリを挿入する] のハイパー リンクをクリックします。
-
[検索クエリを構築] ダイアログ ボックスで、検索クエリが次の画像に一致するようにフィルターを追加し、[OK] をクリックします。
-
Commercesearchitemtype:category
は、カテゴリのみを検索するためのフィルターです。 -
_Parent: {B893C063-6238-ED57-700D-72862C56038D}
親が "Departments" になります。カスタム カタログを使用している場合は、代わりに親アイテムのアイテム ID をコピーして挿入してください。
検索アイコンをクリックして、検索を実行し、希望するカテゴリのリストが表示されることを確認します。複数の言語で書かれたカテゴリが検索結果に表示されることがありますが、これらは後ほどフィルタリングされます。
-
-
リボン メニューで、[保存] をクリックします。
画像フィールドの設定
各トップレベルのカテゴリに画像を関連付けるには、まず、Commerce カテゴリ テンプレートを修正して、各カタログ カテゴリで画像フィールドを利用できるようにする必要があります。または、Commerce Engine のカテゴリ テンプレートを変更して画像フィールドを含めることもできますが、ここでは簡単にするためにこのオプションは使用しません。詳細については、「カタログ アイテム テンプレートへの新しいフィールドの追加」を参照してください。
画像フィールドを設定するには:
-
コンテンツ エディターで、/sitecore/Templates/Project/<テナント>/Commerce Category に移動します。[テンプレート ビルダー] タブをクリックして "新しいフィールド セクションを追加する" フィールドに入力し、カテゴリ画像を入力します。
-
[新しいフィールドを追加] ボックスをクリックして画像を入力し、関連するタイプ リストから [ツリーリスト] をクリックして変更を保存します。
-
カタログのカテゴリ、たとえば、/sitecore/Content/Sitecore/Storefront/Home/Catalogs/Habitat_Master/Habitat_Master-Departments/Habitat_Master-Cameras に移動し、[コンテンツ] タブをクリックします。
-
[カテゴリ画像] セクションの "画像" フィールドで、カテゴリに関連付ける画像に移動し、画像をダブルクリックして [選択済み] リストに追加します。
-
手順 3 を繰り返して、カタログ内のすべてのカテゴリに画像を関連付けます。
-
変更を保存してパブリッシュします。
検索結果レンダリング バリアントの作成
検索結果レンダリング バリアントを作成するには:
-
コンテンツ エディターで、/sitecore/Content/<テナント>/<サイト>/Presentation/Rendering Variants に移動し、[検索結果] を右クリックして [挿入]、[バリアント定義] の順にクリックします。
-
[メッセージ] ダイアログ ボックスで、「カテゴリ バリアント」と入力して [OK] をクリックします。
-
ツリー ビューで、[カテゴリ バリアント] を右クリックします。次に、[挿入]、[Scriban] の順にクリックし、[メッセージ] のダイアログ ボックスで、デフォルトの名前のまま [OK] をクリックします。
-
[Scriban] を右クリックして [挿入]、[レスポンシブ画像] の順にクリックし、[メッセージ] のダイアログ ボックスで、デフォルトの名前のまま [OK] をクリックします。
-
ツリー ビューで、[Scriban] をクリックし、[コンテンツ] タブの [バリアント 詳細] セクションで、次のコードをコピーして "テンプレート" フィールドにペーストします。
RequestResponse<div class="product-summary" data-id="{{ i_item.name }}"> {{displayName = i_item.display_name | html.escape}} <div class="product-photo"> <a title="{{ displayName }}" href="{{ i_item.url }}"> {{ productImage = i_item.images.targets | array.first if productImage sc_execute productImage "Responsive Image" end }} </a> </div> <div class="product-info"> <a class="product-title" title="{{ displayName }}" href="{{ i_item.url }}"> {{ displayName }} </a> </div> </div>
-
ツリー ビューで、[レスポンシブ画像] をクリックし、[コンテンツ] タブの [バリアント 詳細] セクションに、次の値を入力します。
-
"サイズ" フィールドに、「(max-width:320px)280px, (max-width:480px) 440px, 800px」と入力します。
-
"幅" フィールドに、「320,480,800」と入力します。
-
"デフォルト" サイズ フィールドに「400」と入力します。
-
-
変更を保存します。
検索結果レンダリングの設定
トップレベルのカテゴリを表示する場合、在庫と価格の情報は必要ないため、Commerce 検索結果のレンダリングの代わりに SXA 検索結果のレンダリングを使用できます。
検索結果レンダリングを設定するには:
-
エクスペリエンス エディターで、カテゴリを表示するページに移動し、ツール ボックスの [検索] セクションで、[検索結果] レンダリングをクリックして、ページにドラッグします。
-
[関連するコンテンツ] ダイアログ ボックスで、[デフォルト]、[OK] の順にクリックします。
-
[検索結果] ツールバーで [バリアント] リストから、[カテゴリ] バリアントを選択します。
-
[検索結果] ツールバーで、[詳細]、[プロパティ] をクリックし、[コントロール プロパティ] ダイアログ ボックスで、[検索条件] セクションの "検索範囲" フィールドにある "カテゴリ カタログ スコープ" をクリックします。
-
"デフォルト言語 フィルタリング" フィールドで、[現在の言語] をクリックします。
-
"デフォルト ソート順序" フィールドで、[タイトル 降順] をクリックし、[OK] をクリックします。
-
変更を保存します。
これで、カテゴリ ナビゲーションに、クリックすると通常のカテゴリ ページにリダイレクトするカテゴリの画像が表示されます。カテゴリ ページには、カテゴリ内の各商品の商品カードが表示されます。