---
title: "ショッププロバイダー"
slug: "shop-provider"
abstract: ""
---
# ショッププロバイダー

Connectはショッププロバイダーの概念を紹介します。ショッププロバイダーの役割は、すべての通話でサービスレイヤーにショップ情報を提供することです。

ショッププロバイダーは設定可能で、必要に応じて特定のストアフロント実装を導入できます。

Sitecore.Commerce.configファイルは以下のプロバイダーおよびショップエンティティの構成を定義しています:

<shopProvider type="Sitecore.Commerce.Providers.ShopProvider,
Sitecore.Commerce.Connect.Core" singleInstance="true"/>

<commerce.Entities>

    <Shop type="Sitecore.Commerce.Entities.Shop,
Sitecore.Commerce.Connect.Core" />

</commerce.Entities>

ショッププロバイダーがIShopProviderインターフェースを実装します。GetShop() メソッドを実装しなければなりません。

![The ShopProvider class diagram.](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/103/sitecore-experience-commerce/images/03000003.png)

**名称**

**概要**

**ショップ名**

指定された場合、ショップ提供者は指定された *ショップネー* ムの情報を返送しなければなりません。 の場合、現在のショップに関する情報を返さなければなりません。

デフォルトの実装はShopクラスのインスタンスを返し、shopNameプロパティを埋め込みます。 shopNameプロパティはデフォルトでSitecore.Context.Site.Name値から取得するか、指定されていない場合は空文字列から取得されます。 shopNameが与えられた場合、返されたショップ情報にこの情報が単純に入力されます。これはほとんどのストアフロント実装で十分でしょう。

基本ServiceProviderRequestクラスはShopプロパティを公開し、任意のサービスプロバイダーメソッドを呼び出して埋め込みます。

![The Shop class diagram.](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/103/sitecore-experience-commerce/images/03000004.png)

**名称**

**概要**

Name

店の名前だ。

すべてのサービスリクエストがShop情報に反映されるため、既存のリクエストのshopNameプロパティは廃止されたものとしてマークされます。既存のConnect実装を壊さないため、既存のリクエストのShopNameプロパティは将来のバージョンで削除されるまで動作し続けます。つまり、shopNameプロパティを明示的に設定する既存のコードはすべて、そのプロパティがすべてのリクエストから削除されるまで動作し続けます。