チュートリアル: カスタムSitecore Commerceテンプレート プロパティのフィールド ハンドラーの作成
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
新しいカタログ エンティティ プロパティをCommerceテンプレートに追加し、それらの新しいプロパティに基づいて検索機能を提供する場合は、次のことを行う必要があります。
-
カスタム コマース テンプレート フィールド ハンドラーを作成します。
-
新しいCatalogエンティティ プロパティをCommerce Engine検索ポリシー セットに追加します。
-
新しいフィールドをCE Connect検索プロバイダー構成に追加します。
カスタム外部設定フィールド ハンドラー クラスを作成する
Sitecore Commerceテンプレートを新しいカタログ プロパティで拡張する場合は、カスタム カタログ エンティティ フィールドをカタログ外部設定コンポーネントに追加するカスタム インデックス フィールド ハンドラー クラスを作成して、Commerce Engineがそれらを見つける場所を認識できるようにします。
External Settingsとして定義された新しいCatalogプロパティのカスタムハンドラを作成するには:
-
Sitecore.Commerce.Plugin.Search.AbstractIndexFieldHandlerクラスを継承するクラスを作成します。
-
ExternalSettingsPropertyNameの名前を含む公開プロパティを追加します。
-
ComposeValueメソッドのオーバーライドを追加し、有効なフィールドハンドラ情報を確認します。
-
ComposeValueの本文で、外部設定コンポーネントを確認し、設定をインデックスを作成するプロパティの決定論的IDと一致させます。
-
一致するものがある場合は、指定した言語で最初にインデックスを作成するプロパティ名を探します。
-
指定した言語に一致するものが存在しない場合は、共有設定 を確認します。
-
共有設定 で一致が見つからない場合は、一致がないため、インデックスを作成するものはありません。
-
ユーザー設定フィールド ハンドラーと新しいプロパティを検索ポリシー セット ファイルのインデックスに追加します
カスタム・フィールド・ハンドラーと新しいカスタム・フィールドを検索索引に登録するには、Commerce EngineのSolr検索ポリシー・セットにそれらを追加する必要があります。
カスタム・フィールド・ハンドラーと新しいプロパティーを検索ポリシー・セット・ファイルに追加するには、次のようにします。
-
C:\inetpub\wwwroot\<CommerceEngine>\wwwroot\data\Environments\PlugIn.Search.Solr.PolicySet-1.0.0.jsonファイルを開きます。
-
インデックス構成を含むセクションを見つけます。たとえば、次の例は、新しいハンドラー クラス ("$type": "Myplugin.Search.Solr.ExternalSettingsFieldHandler, MyPlugin.Search.Solr") とインデックスを作成するカスタム カタログ エンティティ プロパティ ("ExternalSettingsPropertyName": "TestingText") を定義するSitecoreマスター インデックス設定を示しています。
-
インデックス設定で、次の変更を行います。
-
Sitecoreのテンプレートの新しいカスタム フィールドの名前と一致するように、"Name" プロパティを更新します。
-
"Handler": クラスを新しいインデックス フィールド ハンドラー クラスの名前で更新します。
メモ新しいカスタムフィールドが共有設定でない場合は、"Localizable": true
-
-
設定を変更した後、Commerce Engineをブートストラップします。
-
Microsoft IIS Managerで、Commerce Engineミニオン サービス ( CommerceMinions_Scなど) を再起動します。
-
Sitecore XPインデックスを手動で再構築します。インデックスを再構築すると、Solr Adminクエリーページで、新しい検索ハンドラーが検索インデックスに表示されます。次の例では、新しいインデックス付きフィールドは次のようになります "exampleexternalsettingproperty_t":"Testing Text"
CE Connect検索プロバイダー構成に新しいフィールドを追加する
新しいフィールドをSitecoreで検索可能にするには、CE Connectの検索プロバイダー設定に追加する必要があります。
CE Connectの検索プロバイダー構成に新しいフィールドを追加するには、次のようにします。
-
Sitecoreサービス インスタンスの \App_Config\Include\Y.Commerce.Engineフォルダーで、検索プロバイダーの設定ファイルを開きます。たとえば、Sorlの場合は、Sitecore.Commerce.Engine.Connectors.Index.Solr.configファイルを開きます。
-
FieldMapセクションで、新しいfieldName定義を追加します。次の例では、"exampleexternalsettingproperty"という名前の新しいフィールドを追加します。