Webshopサイト設定をwebsite rootの外に移動する


解説

この記事では、ウェブサイトのルート アイテムの外にあるWebshopサイト設定を使用できるように Sitecore Ecommerce Webサイトを構成する方法について説明します。本記事の内容は、SES 2.0~2.1バージョンに対応します。

必要要件:
デフォルトでは、Sitecore Ecommerce ServicesモジュールはWebshopサイト設定をウェブサイトのルート アイテムに保存する必要があります。ただし、ウェブサイトのコンテンツと一般的な設定を分離したい場合は、以下の手順を使用できます。

解決策

  1. Sitecore.Support.379399.dllファイルをウェブサイトの/Binフォルダーに配置します。
  2. Sitecore.Support.379399.configファイルを抽出して、ウェブサイトの/App_Config/Includeフォルダーに配置します。 
  3. Webshopサイト設定アイテムの絶対パスを、適切なWebshopサイト定義のEcommerceSiteSettings設定の値として指定します。例:
    <site name="example" … EcommerceSiteSettings="/sitecore/content/Site Settings" … />
注意:
  1. この解決策は、以下のプロセッサの機能をオーバーライドします。
    • Sitecore.Ecommerce.Shell.Pipelines.HttpRequest.ShellShopResolver:(Sitecore デスクトップ内にある)製品カタログ エディターを正常に機能させるために、このプロセッサーの修正が必要です。 
    • Sitecore.Ecommerce.Pipelines.GetConfiguration.GetFromContextSite:フロントエンドWebサイトを正常に機能させるために、このプロセッサの修正が必要です。 
    •  Sitecore.Ecommerce.Apps.Pipelines.HttpRequest.MerchantShopResolver:Order Managerツールを正常に機能させるために、このプロセッサの修正が必要です。 
  2. Sitecore.Support.379399.configファイルは、/App_Config/Include/Sitecore.Ecommerce.Apps.OrderManagement.configファイルで定義されている Sitecore.Ecommerce.Apps.Pipelines.HttpRequest.MerchantShopResolverプロセッサーの定義をオーバーライドします。 
    プロセッサの<ShopContextName>属性が構成で既に指定されている場合、この属性の値をSitecore.Support.379399.configファイルにコピーする必要があります。 
  3. この解決策は、(WebshopサイトのStartItemに関連する)絶対パスまたは相対パスを適切なWebshop サイト定義のEcommerceSiteSettings設定の値として使用する機会を提供します。