OrderCloudSearchProvider
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
OrderCloudSearchProviderは、Sitecore SearchプラットフォームとSitecore OrderCloud Search JS SDKを使用して統合されたReactアプリケーションのルートレベルのプロバイダーです。これにより、内部コンポーネントでSDKクエリフックを使用できます。
構成
次の表に、OrderCloudSearchProviderコンポーネントのプロパティを示します。
|
名前 |
種類 |
形容 |
|---|---|---|
|
trackConsent |
ブーリアン |
falseの場合、Cookieは設定されず、既存のCookieは削除されます。 デフォルト: true |
|
publicSuffix |
ブーリアン |
falseの場合、ドメインはCookieを制限するトップレベルドメインまたはapexドメインのサブドメインではありません。 デフォルト: true |
|
discoverDomainId |
糸 |
必須。 ドメインID Customer Engagement Console (CEC) のDeveloper resourcesセクションから取得されます。 |
|
orderCloudRegion |
糸 |
必須。 OrderCloudがデプロイされているリージョン。 指定できる値は、australiaEast、europeWest、japanEast、usEast、およびusWestです。 |
|
searchEnv |
糸 |
必須。 CECで宣言されている環境。 例: prod |
|
searchApiKey |
糸 |
必須。 CECのDeveloper resourcesセクションから取得されたキー API。 |
|
requestMiddleware |
async関数 |
必須。 ミドルウェアとして機能する非同期関数。これは、要求の前にトリガーされます。 |
OrderCloudコントローラー
JS SDKを使用して構築されたOrderCloudアプリケーションから行われるすべての要求には、supplierIdとrequiredInventoryLocationsの2つのプロパティの値が必要です。</ Search JS SDKには、次のコード ブロックに示すように、それらを追加または編集するためのOCControllerコンポーネントが用意されています。
import { OCController } from '@sitecore-search/react';
OCController.getContext().setSupplierId('1234');
OCController.getContext().setRequiredInventoryLocations('Inventory location');インポートパス
import { OrderCloudSearchProvider } from '@sitecore-search/react';
import { OCController } from '@sitecore-search/react';例
次のコード ブロックは、プロバイダー ( OrderCloudSearchProviderコンポーネント) を非同期ミドルウェア関数と共に使用する方法の例、Searchの構成、およびOrderCloudデータを示しています。
import { OCController, OrderCloudSearchProvider } from '@sitecore-search/react';
const SEARCH_CONFIG = {
discoverDomainId: string,
orderCloudRegion: string,
searchEnv: string,
searchApiKey: string
};
const Root = () => {
OCController.getContext().setSupplierId('1234');
OCController.getContext().setRequiredInventoryLocations('Inventory location');
return (
<OrderCloudSearchProvider
requestMiddleware = {async () => {
console.log('Refreshing the token...')
refreshToken()
.then(() => {
console.log('Token refreshed')
})
.catch((err) => {
console.log('Token could not be refreshed')
console.error(err)
})
}}
trackConsent={tracking}
publicSuffix="true"
discoverDomainId="222222"
orderCloudRegion="usWest"
searchEnv="dev"
searchApiKey="API KEY GOES HERE"
>
<header>
<h1>My Application</h1>
<MyGlobalPreviewSearch rfkId="header_ps" />
</header>
<div class="content">
OTHER WIDGET COMPONENTS GO HERE
</div>
<footer>
<MyGlobalRecommendationWidget rfkId="footer_rec" />
</footer>
</OrderCloudSearchProvider>
)};