詳細情報:
B2C Commerce でのカタログオブジェクトのインポート/エクスポート
カタログ全体を一度にインポートします。インポート操作には、カタログと、カタログ内のカテゴリと商品が含まれます。エクスポートでも同様に、カタログ全体を一度にエクスポートできます。このトピックは、B2C Commerce に該当します。
カタログのインポート/エクスポートは、以下を念頭に設計されています:
- ストアフロントカタログは、マスターカタログとは別にインポートできます。
- ストアフロントカタログカテゴリは、そのカテゴリに表示される商品を参照できます。
- 他のストアフロントカタログのインポートは、すでに作成された商品/カテゴリの割り当てには影響しません。
- マスターカタログの商品更新インポートは、ストアフロントカタログへの割り当てには影響しません。
- カタログインポートセマンティックは、商品カタログとストアフロントカタログが互いに分離された自己完結データユニットになるよう調整されるため、互いのデータ構造を削除せずにインポートできます。
Business Manager のインポート/エクスポートの場所
の順に選択します。
カタログのインポート
CSVまたは XML ファイルタイプからカタログをインポートします。CSV ファイルはマージモードでのみアップロードでき、インポート処理を続行する前にアップロードするカタログを指定します。Development (開発) 環境と Production (本番) 環境にカタログデータをインポートすると、Staging (ステージング) に同じカタログが存在する場合、エラーが発生します。カタログデータは Staging (ステージング) からレプリケートすることをお勧めします。
カタログインポートは 2 パスのインポートとして実装されています。
- 第 1 のパスで、オブジェクトを作成、更新、削除します。
- 第 2 のパスで、オブジェクト間の関係を築きます。
このインポートプロセスにより、category 要素と product 要素をフィード内で順不同で表示できます。インポート中、この 2 つのパスを操作することはありません。各オブジェクトのインポート後に、デフォルトのトランザクションモードによって変更が確定されます。1 回目のパスと 2 回目のパスの間でインポートが中止されると、作成または更新されたオブジェクトが後に残されることがあります。この場合、オブジェクトに対して関係は作成されません。オブジェクトが後に残されないように、カタログに対応するすべてのエンティティを 1 つの XML ファイルに含めます。
マージモードまたは置換モードでインポートされた新しい商品は、ステータスがインポートファイルで指定されていない場合、デフォルトでオフライン ステータスになります。
- 更新、マージ、置換の各モードでインポートされた既存の商品については、オンライン/オフラインステータスは、そのステータスがインポートファイルで指定されていない限り変わりません。
- 各商品のオンライン/オフラインステータスがインポートファイルで指定されている場合、この変更はカタログインポートの既存の動作には影響しません。
インポートスキーマ catalog.xsd では、<value-definition> 要素で下位要素 <value> を宣言する必要があります。指定される値が空白であってはならず、前または後にも空白を入れないようにします。
カタログのエクスポート
選択した商品のデータを Business Manager またはカスタムパイプラインを使用してエクスポートします。カタログのエクスポート中、B2C Commerce では前後の空白が自動的に削除され、商品画像パスに保存された改行文字も削除されます。カタログを XML またはCSVとしてエクスポートします。
Business Manager カタログのエクスポートモードである「特定商品をエクスポートする」では、選択した商品のリストおよびこれらの商品のカテゴリ割り当てのみが含まれます。の順に選択します。商品の簡易検索で説明されているように、標準の商品検索機能を使用することも、ベータ版の検索機能を使用することもできます。
ページのメタタグのインポート/エクスポート
ページのメタタグのルールと定義は、独立した「ページのメタタグ」セクションでインポートおよびエクスポートされるようになりました。ページのメタタグを参照してください。
カタログ、ライブラリ、およびサイト ImPex 内では、割り当てのみがインポートおよびエクスポートされます。
パイプレット
ImportCatalog
ImportFile で指定されたカタログデータを、指定されたモードでシステムにインポートします。このパイプレットには、インポート前にカタログを削除するためのインポート構成が用意されています。この手法は、特にカタログ内のオブジェクトが不明な場合に、カタログを空にするための高パフォーマンスの方法として使用します。また、更新モードまたはマージモードを使用する場合は、インポート前にカスタム属性を削除します。詳細については、古くなったオブジェクトの削除を参照してください。
カスタム商品属性定義のインポートは、パイプレット ImportCatalog を使用してのみ行えます。Business Manager カタログインポートを使用して商品オブジェクトのカスタム属性定義をインポートすることはできません。カスタム商品属性定義のインポートを有効にするには、ImportCatalog パイプレットの ImportConfiguration パラメーターをImportAttributeDefinitions = true に設定します。ImportConfiguration にこのパラメーターがない場合、または false に設定されている場合は、商品属性定義はインポートされません。
カタログインポートファイルに商品属性定義を指定したが、ImportAttributeDefinitions = false または指定されていない場合、またはファイルが Business Manager でインポートされた場合は、データエラーがログされます。この場合、product-attribute-definitions 要素は、更新、マージ、置換のインポートモードでは無視されます。
ExportCatalog
ExportCatalogパイプレットのパラメーターExportCategoryAssignments=True で、Productsイテレーターを指定すると、エクスポートファイルには、エクスポートされた商品のリストのカテゴリ割り当てまたはカテゴリ割り当てのみが含まれます。Products イテレーターが指定されていない場合は、すべてのカテゴリ割り当てがエクスポートされます。
粒度: 渡されたカテゴリ、渡されたカテゴリの商品、渡されたカテゴリのカテゴリ割り当て、カタログのすべての推奨商品、カタログのすべてのシェア商品オプション)。
スキーマ要素
このセクションでは、catalog.xsd に含まれる要素、およびその要素の値を作成する際に考慮すべきことについて説明します。
要素: Category (カテゴリ)
category 要素をインポートする際には、要素固有の詳細を考慮してください。
- category 要素はフィード内で順不同で表示されます。
- 削除モードはカテゴリ要素レベルで指定し、インポート処理モードを上書きします (例: <category category-id="Electronics" mode="delete"/>)。
- カタログのルートカテゴリを削除モードで削除することはできません。また、置換モードでも削除できません。ただし、置換モードでは更新されます。
- カテゴリを削除すると、カテゴリのカテゴリ割り当て (カテゴリ内の商品ではない)、カテゴリのリンク (受信と送信)、およびすべての下位カテゴリが削除されます。
- ルートカテゴリの表示名と説明も、カタログの表示名および説明として設定されます。
- フィードに用意されていない場合、一部の category 下位要素には、特別なセマンティックまたはデフォルトのセットが含まれています。以下の表に詳細を示します。
属性: online-from および online-to
カタログインポート処理中に、online-from および online-to カテゴリ属性値をリセットしなければならない場合があります。たとえば、これらの要素を XML で空白の値 ( 例: <online-from/> ) で送信すると、XML 検証は失敗します。カタログインポート処理中に、online-fromおよびonline-toカテゴリ属性をリセットします。
カタログインポート処理中にこれらの属性値をリセットするには、インポートファイルが次の XML 形式の例に準拠している必要があります:
<category category-id="RESET_ME">
<!-- デフォルトの online-from 値をリセット -->
<online-from xsi:nil="true" />
<!-- デフォルトの online-to 値をリセット -->
<online-to xsi:nil="true" /> </category>カタログインポートファイルに以下を追加します:
xsi:noNamespaceSchemaLocation="catalog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"以下に例を示します。
<catalog xmlns="http://www.demandware.com/xml/impex/catalog/2006-10-31"
xsi:noNamespaceSchemaLocation="catalog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" catalog-id="catalog">
更新モードを使用する場合:
カタログの差分ファイルを作成してカタログを更新できる顧客は、更新モードの動作を理解することが重要です。
- カテゴリリンクのリンク先のカテゴリをインポートするときに、リンク元のカテゴリがないと、リンクは削除されません。
- 子カテゴリをもつカテゴリをインポートし、その子カテゴリがないと、子カテゴリは削除されません。
| 下位要素 | コメント |
|---|---|
| display-name | 要素が省略される場合: 属性は変更されない |
| description | 要素が省略される場合: 属性は変更されない |
| online-flag | 作成中に要素が省略される場合: デフォルトは「False」に設定 更新中に要素が省略される場合: 属性は変更されない |
| parent | 要素が省略される場合: DATAWARNING がログされ、デフォルトは "root" になる |
| position | 要素が省略される場合: 属性は変更されない |
| thumbnail | 要素が省略される場合: 属性は変更されない |
| image | 要素が省略される場合: 属性は変更されない |
| template | 要素が省略される場合: 属性は変更されない |
| sitemap-included-flag | 要素が省略される場合: 属性は変更されない |
| sitemap-changefrequency | 要素が省略される場合: 属性は変更されない |
| sitemap-priority | 要素が省略される場合: 属性は変更されない |
| page-attributes | 要素が省略される場合: 属性は変更されない 要素が表示される: 各属性と地域情報のマージセマンティック |
| custom-attributes | 要素が省略される場合: 属性は変更されない 要素が表示される: 各属性と地域情報のマージセマンティック |
| category-links | 要素が省略される場合: カテゴリリンクは変更されない 要素が表示される: 送信カテゴリリンクの置換セマンティック category-link 要素の表記順によって、並べ替え順序が決まる |
| attribute-groups | 要素が省略される場合: グループは変更されない 要素が表示される: 置換セマンティック ttribute-groups の表記順によって、並べ替え順序が決まる 属性の表記順によって、並べ替え順序が決まる |
| refinement-definitions | 要素が省略される場合: 絞り込みは変更されない 要素が表示される: 置換セマンティック refinement-definition 要素の表記順によって、並べ替え順序が決まる |
要素: 商品
product 要素をインポートする際には、要素固有の詳細を考慮してください。
- product 要素はフィード内で順不同で表示されます。
- 削除モードは商品要素レベルで指定し、インポート処理モードを上書きします。例: <product product-id="PN00001" mode="delete"/>。
- バンドル、商品セット、マスター商品の各商品タイプは互いに排他的です。このため、bundled-products、product-set-products、variations の各要素は互いに排他的です。
- バンドル、商品セット、マスター商品の各商品タイプのバリアントは指定できません。
- 各商品バリエーションとバリエーショングループを 1 つのマスター商品が所有します。このオーナーシップを 1 つのマスター商品から別のマスター商品に 1 回のインポート処理で変更できます。
- マスター商品がない状態でバリエーション商品をインポートすると、その商品はバリエーションのままになります。
- バリエーション商品なしでマスター商品をインポートした場合、 <バリエーション商品> セクションで指定した商品はマスター商品に関連付けられたままになります。他のバリエーション商品はマスター商品からリンク解除され、通常の商品になります。
- 上位の商品セットなしで商品セットをインポートした場合、そのセットのメンバーのままになります。
- バンドルされた商品をそのバンドルなしでインポートした場合、そのバンドルのメンバーのままになります。
- 商品リンクのリンク先の商品をインポートするときに、リンク元の商品がないと、リンクは削除されません。
- バンドルを削除しても、バンドルされた商品は削除されません。
- マスター商品を削除すると、バリエーション商品も削除されます。
商品属性のリセット
マージモードでのインポート中、商品属性の値を削除しなければならないケースもあります。
カタログインポート中に以下の属性をリセットします:
- online-from
- online-to
- search-rank
- search-placement
- sitemap-included-flag
- sitemap-changefrequency
- sitemap-priority
XML 形式の例:
<product product-id="RESET_ME">
<!-- デフォルトの online-from 値をリセット -->
<online-to xsi:nil="true" />
<!-- デフォルトの search-placement 値をリセット -->
<search-placement xsi:nil="true" />
<!-- サイト固有の search-placement 値をリセット -->
<search-placement site-id="YourSite" xsi:nil="true" />
</product>
インポートファイルのルート要素に
xsi:noNamespaceSchemaLocation="catalog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
を追加して、以下のようになります:
<catalog xmlns="http://www.demandware.com/xml/impex/catalog/2006-10-31" xsi:noNamespaceSchemaLocation="catalog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" catalog-id="catalog">
下位要素の特別処理
フィードに用意されていない場合、一部の product 下位要素には、特別なセマンティックまたはデフォルトのセットが含まれています。以下の表に詳細を示します。
| 下位要素 | コメント |
|---|---|
| ean | 要素が省略される場合: 属性は変更されない |
| upc | 要素が省略される場合: 属性は変更されない |
| unit | 作成中に要素が省略される場合: デフォルトは空白文字列に設定 更新中に要素が省略される場合: 属性は変更されない |
| min-order-quantity | 作成中に要素が省略される場合: デフォルトは 1 に設定 更新中に要素が省略される場合: 属性は変更されない |
| step-quantity | 作成中に要素が省略される場合: デフォルトは 1 に設定 更新中に要素が省略される場合: 属性は変更されない |
| display-name | 要素が省略される場合: 属性は変更されない |
| short-description | 要素が省略される場合: 属性は変更されない |
| long-description | 要素が省略される場合: 属性は変更されない |
| online-flag | 作成中に要素が省略される場合: デフォルトは「True」に設定 更新中に要素が省略される場合: 属性は変更されない |
| online-from | 要素が省略される場合: 属性は変更されない |
| online-to | 要素が省略される場合: 属性は変更されない |
| available-flag | 作成中に要素が省略される場合: デフォルトは「True」に設定 更新中に要素が省略される場合: 属性は変更されない |
| searchable-flag | 作成中に要素が省略される場合: デフォルトは「True」に設定 更新中に要素が省略される場合: 属性は変更されない |
| image | 要素が省略される場合: 属性は変更されない |
| thumbnail | 要素が省略される場合: 属性は変更されない |
| template | 要素が省略される場合: 属性は変更されない |
| tax-class-id | 要素が省略される場合: 属性は変更されない |
| brand | 要素が省略される場合: 属性は変更されない |
| manufacturer-name | 要素が省略される場合: 属性は変更されない |
| manufacturer-sku | 要素が省略される場合: 属性は変更されない |
| search-placement | 要素が省略される場合: 属性は変更されない |
| search-rank | 要素が省略される場合: 属性は変更されない |
| sitemap-included-flag | 要素が省略される場合: 属性は変更されない |
| sitemap-changefrequency | 要素が省略される場合: 属性は変更されない |
| sitemap-priority | 要素が省略される場合: 属性は変更されない |
| page-attributes | 要素が省略される場合: 属性は変更されない 要素が表示される: 各属性と地域情報のマージセマンティック |
| custom-attributes | 要素が省略される場合: 属性は変更されない 要素が表示される: 各属性と地域情報のマージセマンティック カスタム属性の値はマージされません。 マージでは、オブジェクトが存在しない場合はオブジェクトが作成され、その後、既存のオブジェクトが変更されます。フィードで渡されなかったオブジェクト属性はそのままになります。 カスタム属性の値が XML ファイルにある場合は、商品でこのファイルの値が取得され、以前に選択されていたその他の値は選択が解除されます。マージモードのインポートでは、値自体ではなく、属性がインポートされます。(バリエーション属性の値など) 一部の値では特定のマージモードを利用できますが、参照しているカスタム属性は利用できません。 |
| bundled-products | 要素が省略される場合: 関係は変更されない 要素が表示される: 置換セマンティック bundled-product 要素の表記順によって、並べ替え順序が決まる。 |
| product-set-products | 要素が省略される場合: 関係は変更されない 要素が表示される: 置換セマンティック product-set-product 要素の表記順によって、並べ替え順序が決まる |
| options | 要素が省略される場合: オプションは変更されない 要素が表示される: すべての非公開オプションおよびシェアオプションの置換セマンティック (非公開オプションの削除/作成、シェアオプションのバインドの解除/バインド) option 要素および shared-option 要素の表記順によって、並べ替え順序が決まる |
| variations | 要素 variations が省略される場合: 属性と関係は変更されない 要素属性が省略される場合: 属性は変更されない 属性要素の表記順によって、並べ替え順序が決まる 要素バリアントが省略される場合: 関係は変更されない merge-mode 属性によって、マージセマンティックにかかわらず、バリエーションが追加、削除、または置換されるかどうかが決まります。 merge-mode 属性が指定されていない場合、インポーターはデフォルトで置換セマンティックを使用します。この動作は、この要素のレガシーの動作です。 |
| product-links | 要素が省略される場合: 商品リンクは変更されない 要素が表示される: 送信商品リンクの置換セマンティック Product-link 要素の表記順によって、並べ替え順序が決まる |
| classification-category | 要素が省略される場合: 関係は変更されない |
サイト特有の属性
<product> import/export 要素<online-flag>、<online-from>、<online-to>、<searchable-flag>、<search-rank>、<search-placement>、<sitemap-included-flag>、<sitemap-priority>、<sitemap-changefrequency>、および <custom-attribute>の各要素では、属性値がサイト固有であることを示すオプションのsite-id。サイト固有の値を指定するには、人間が判読できるサイト ID を使用します。以下がその例です:
<online-flag site-id="MySiteEurope">false</online-flag>要素: Images
カタログのインポートでは、<images> セクションで merge-mode 属性がサポートされています。この属性には、次の 2 つの設定可能な値があります:
-
マージ: デフォルト値です。 -
置換: 保存されている商品の画像情報をすべて消去してから、再インポートする場合に使用します。たとえば、さまざまな画像を設定するために、バリエーションマスターで使用するバリエーション属性を変更した場合などにこの値を使用します。
merge-mode 属性がサポートされている他のケースと同様、インポートモードが全般的に更新またはマージである場合に、この属性を使用してください。要素: Category-Assignment
インポート中、catalog.xsd の一部として product-category 割り当てが保持されるため、事前設定された商品割り当てをカテゴリとともにワンステップでインポートできます。この動作は、単一の (分類) カタログを複数のサイト固有 (ナビゲーション) カタログと同時に使用する場合に特に役立ちます。
variation-configuration 要素とコンプレックスタイプ VariationConfiguration によって、カテゴリレベルでバリエーション商品のスライスを構成できます。
Business Manager でカテゴリに商品の位置値を割り当てると、各商品の位置値はシーケンス番号として表示されます。商品をインポート/エクスポートする際には、category-assignment の position 要素には auto の値が割り当てられます。共通する値を解決して商品の位置を決定するには、ファイル内での順番によって各商品の実際の位置が決まります。
たとえば、Business Manager によってカテゴリに商品 A の位置 1 と商品 B の位置 2 が割り当てられているとします。インポート中に、両方の商品の position 要素は auto に設定されます。商品 A はファイル内で最初にあるため、商品 A が最初に表示され、商品 B が 2 番目に表示されます。
要素: Product-Attribute-Definitions
product-attribute-definitions 要素は、サードパーティまたはバックエンドシステムからのフィード経由で商品オブジェクトの属性定義をサポートすることを目的とするものです。インポートによって属性のメタデータを一般的な方法でインポートすることが趣旨ではありません。商品属性定義メタデータはエクスポートできません。product-attribute-definitions 要素にシステム属性の定義が含まれている場合、インポートファイルは無効です。
属性定義は ImportCatalog パイプレットでのみインポートでき、Business Manager のインポートでインポートすることはできません。カタログインポートで作成された商品属性には、以下のデフォルト値があります:
- order-required は
falseに設定されます - searchable は
falseに設定されます - externally-defined は
trueに設定されます
product-attribute-definitions要素がインポートファイルで定義されていない場合、インポートによって既存の商品属性定義が変更されることはありません。
インポートでは、マージ、置換、更新の各モードで要素が同じように処理されます。インポートファイルでproduct-attribute-definitions要素を定義すると、インポートでは、属性定義がデータベース内にすでに存在するかどうかチェックされ、以下が実行されます:
- 新しい属性定義が追加され、B2C Commerce データベースで externally-defined フラグが
trueに設定されます。 - B2C Commerce データベースで externally-defined フラグが true に設定されている既存の属性定義は更新されますが、置換はされません。
- B2C Commerce データベースで externally-defined フラグが
falseに設定されている既存の属性定義はインポートで無視され、データエラーがログされます。 - インポートでは、無効な属性定義はスキップされます。同じ ID をもつ既存の属性があり、
externally-defined-flagが true に設定されている場合、インポートによってその属性が削除されます。インポートによって、B2C Commerce データベースからその属性に構成された値もすべて削除されます。 - B2C Commerce データベースで externally-defined フラグが true に設定されている属性定義であり、その属性がインポートフィードに含まれていない場合、その属性は削除されます。インポートによって、B2C Commerce データベースからその属性に構成された値もすべて削除されます。
バックエンドシステムでは古くなった情報についての情報を提供できないことが珍しくないため、B2C Commerce では、インポートフィードに含まれていない外部定義属性が削除されます。古くなった属性の自動削除により、データベースに多数の古い属性が累積されないようになっています。
インポートモードが DELETE の場合、インポートファイルで定義されているproduct-attribute-definitions要素はすべて無視されます。
コンプレックスタイプ: AttributeDefinition
catalog.xsd のコンプレックスタイプ AttributeDefinition では、site-specific-flag 属性がサポートされます。
属性: System
システム属性のサイト固有値はカタログのインポートおよびエクスポートでサポートされます。
属性: Custom
カスタム属性のサイト固有値はカタログのインポートおよびエクスポートでサポートされます。
<online-flag site-id="MySiteAmerica">false</online-flag>要素: Variants
属性: Merge-Mode
merge-mode 属性は、更新、マージ、置換の各モードで、特定の variants 要素の指定されたマージセマンティックを上書きします。属性に使用できる値は、add、merge、replace、および remove です。
置換モードでは、すべてのバリエーション商品が、フィードにリストされているバリエーション商品に置換される前に自動的に削除されるため、このモードでは属性を使用する必要がありません。
バリエーションを別々に追加または削除するには、バリエーションを別々のvariants要素に配置します。1 つの variations 要素と商品につき、1 つの variants 要素とモードのみを使用します。
例 1: 新しいバリエーションを 2 つ追加します。
<product product-id="28447">
...
<variations>
<variants merge-mode="add">
<variation product-id="883239585285"/>
<variation product-id="883239585289"/>
</variants>
</variations>
</product>例 2: バリエーションを 3 つ削除します。
<product product-id="28447">
...
<variations>
<variants merge-mode="remove">
<variation product-id="883239585281"/>
<variation product-id="883239585282"/>
<variation product-id="883239585283"/>
</variants>
</variations>
</product>例 3: 3 つ目のバリエーションの属性値を置換します。
<product product-id="28447">
...
<variations>
<variants merge-mode="replace">
<variation product-id="883239585287"/>
</variants>
</variations>
</product>インポート時のバリエーション商品とバリエーションの属性値の並べ替え
カタログインポート時のバリエーション商品とバリエーションの属性値の並べ替えを制御します。この機能は、インポートのときに既存のバリエーション商品とバリエーションの属性値の並べ替えを保持する必要がある場合に役立ちます。
variation-attribute-values要素とvariants要素のmerge-mode属性にmergeを指定した場合、インポーターは次の処理を行います。
- インポートファイルに指定されているすべての新しい値を、インポートファイルに指定されている順序と同じ順序でリストの最後に追加します。
- インポートファイルに指定されている既存の値をすべて更新します。この動作は、インポートファイルに指定されている場合、表示名などの値のすべての属性がインポーターによって更新されることを意味します。既存の値の位置は更新されません。インポーターは、インポートファイルに指定されていない既存の値をすべて削除します。メモ バリエーション商品は削除されませんが、バリエーションマスターとのリンクが解除され、独立した商品になります。
merge-mode 属性がファイルで指定されていない場合、システムに格納されているリストは、インポーターによってインポートファイル内の値に完全に置換されます。インポートでは、要素のリストにデフォルトの replace セマンティックが使用されます。
B2C Commerce での推奨項目のインポート/エクスポート
推奨項目は、その項目が含まれるカタログの一部としてインポートされます。推奨項目は、カタログスキーマの最上位要素として表示されます。推奨項目要素は、<product>、<category>、および<category-assignment> 要素と同位になります。このトピックは、B2C Commerce に該当します。
スキーマファイル (Catalog.xsd)
以下のスニペットは、カタログスキーマの一部です:
<!-- Recommendation -->
<xsd:complexType name="complexType.Recommendation" mixed="false">
<xsd:sequence>
<xsd:element name="display-name" type="sharedType.LocalizedString" minOccurs="0" maxOccurs="unbounded" />
<xsd:element name="short-description" type="sharedType.LocalizedString" minOccurs="0" maxOccurs="unbounded" />
<xsd:element name="long-description" type="sharedType.LocalizedString" minOccurs="0" maxOccurs="unbounded" />
<xsd:element name="callout-message" type="sharedType.LocalizedString" minOccurs="0" maxOccurs="unbounded" />
<xsd:element name="image" type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
<xsd:element name="custom-attributes" type="sharedType.CustomAttributes" minOccurs="0" maxOccurs="1" />
</xsd:sequence>例
以下は、カタログスキーマファイルの中で RecommendationTypes を処理する部分です:
<xsd:simpleType name="simpleType.RecommendationType">
<xsd:annotation>
<xsd:documentation>Allowed string values are the 'int' values defined for the Recommendation.recommendationType attribute, and additionally the values 'cross-sell', 'up-sell', and 'other' for backward compatibility.</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="simpleType.Generic.String" />
</xsd:simpleType>RecommendationTypes を使用する場合、インポートプロセスは正の整数値がこのフィールドに渡されることを想定します。また、インポートプロセスはレガシー値 cross-sell、up-sell、other のうちの 1 つ (内部でそれぞれ 1、2、3 に変換される) も受け入れます。他の値が渡された場合、インポート処理によってエラーが報告され、推奨項目はインポートされません。インポートプロセスでは、渡された整数の検証は行われません。渡された値が構成されている属性値のうちの 1 つと等しくない場合でも、インポートプロセスでは、渡されたタイプを使用して推奨項目が作成されます。
Business Manager で RecommendationTypes のリストを定義します。たとえば、次のサンプルで示すように、XML ファイルに表示される新しいタイプ 4=="down-sell" または 5=="upside down sell" を定義します:
<recommendation type="4" target-id="PN0002" source-type="product" source-id="PN0001" />
<recommendation type="5" target-id="S1965524" source-type="product" source-id="S1937231"/>並べ替え
推奨項目は、ソースオブジェクトとタイプの範囲で並び替えられます。この並べ替えは Business Manager とカタログのインポート処理によって処理されます。
インポート処理では、カタログのインポートファイルに表示されるのと同じ順序で推奨項目が配置されます。インポートされた推奨項目の位置は以下のいずれかになります:
- REPLACE モードで既存の推奨項目の場合、およびMERGE モードで新しい推奨項目の場合は、既存の推奨項目のリストの最下部に追加
- MERGE モードで既存の推奨項目の場合は、現在の位置をキープ
