この機能は、「商品インポート」アドオンを有効にしている場合に利用できます。
管理画面の上部メニューから「一般設定 > インポート > 商品[アドオン] 」をクリック。
右上の「+」ボタンをクリックして、「商品インポートの追加」を開きます。
商品インポートの設定で登録するプリセットは、ファイルを解釈するルールです。
プリセットを登録すると、毎回個別に変更しなくても、同様の構造の複数のファイルをインポートできるようになります。
商品インポートの設定を保存すると、それを再利用して類似構造のファイルを何度でもインポートできます。
インポートするファイル(CSV又はXML形式)を選択し、後で他のプリセットの中で見つけるために使用するプリセットの名前を入力します。
XMLファイルをアップロードする場合は、フィールドに同じ名前のXMLターゲットノードも指定する必要があります。
XMLファイルの構造は、すべてインポートする必要はありません。
以下にXMLの例を用意しました。
<?xml version="1.0"?> <data> <address>NY, Green Street</address> <working_hours>9 am - 5 pm</working_hours> <products> <product> <sku>D00014MK1P</sku> <item>65" Class (64.5" Diag.) LED 8000 Series Smart TV</item> <in_stock>Yes</in_stock> <price>500</price> </product> <product> <sku>K01502P8VF</sku> <item>Wildwood City Classic</item> <in_stock>Yes</in_stock> <price>300</price> </product> </products> </data>
この例では、XMLターゲットノードは data/products/product
です。
これは、1商品に関するすべての情報を含むXMLノードへのフルパスです。
右上の「登録」ボタンをクリック。
プリセットを登録すると、「ファイル」タブにcronに追加できるコマンドが表示されますので、特定の日時に定期的にインポートを実行することもできます。
「フィールドマッピング」タブに切り替えます。
- インポートされたファイルの列やXML要素を、CS-Cartの対応する商品プロパティと一致させます。
- インポートされたフィールド値の例をチェックして、正しいかどうかを確認してください。インポートされたデータが、対応する商品プロパティのインポートされたフィールドの形式に従っていることを確認してください。
- 必要に応じて、関数を追加します。関数は、インポートされたデータを変更するのに役立つものです。「関数一覧」ボタンをクリックすると、モーダルウィンドウが開き、各関数の詳細が確認できます。
関数の使用方法は以下の通りです。
- 2つのサプライヤーから商品を輸入するとします。各サプライヤーは、商品ごとに固有のSKU[ストックキーピングユニット(Stock keeping Unit)](CS-Cartの商品のコード)を各社で使用していますが、サプライヤー毎のいくつかのSKUは重複しているため、各サプライヤーは、同じSKUを持つ異なる商品を持っていることになります。ただし、商品毎に一意のSKUが必要です。その場合には、サプライヤー毎に異なるインポートのプリセットを作成できます。
サプライヤー1から商品をインポートする際にconcat(SPLR1-, $value
) という関数を追加すると、そのサプライヤーのすべてのSKUは SPLR1-プレフィックス という値を持つことになり、SKUは一意になります。
これは、インポートする商品がまだECサイトやマーケットプレイスサイトに存在しない場合にのみ機能します。商品が既にECサイトやマーケットプレイスサイトに存在する場合には、古い商品は古いSKUのままになり、インポートされた商品は新しい商品として作成されます。 - サプライヤーが商品在庫を提供していない場合、ファイルには商品が入手可能な場合は「はい」のみが含まれ、それ以外の場合は「いいえ」が含まれますが、CS-Cartでは商品の数量は数値の指定をする必要があります。
その場合、在庫情報が格納されているフィールドにcase($value=Yes, 100, $value=No, 0)
という関数を追加することができます。そうすると、もしそのカラムに「はい」があれば、CS-Cart は100個の在庫があるとみなし、「No」 は0個の在庫を意味することになります。 - サプライヤーからのすべての商品を10%高い価格で販売しているが、サプライヤーがファイルに価格を記載している場合、価格を持つフィールドに
mul($value, 1.1)
という関数を追加して、インポートされたファイル内のすべての価格を自動的に10%増やすことができます。
フィールドマッピングと関数を設定したら、右上の「保存」ボタンをクリックします。すべての値が正しく設定できると、フィールド値の例に関数が適用された値が表示されます。
「基本設定」タブに切り替えると、インポート設定が表示されます。
- テストインポートを実行:ファイルから最初の5つの商品のみをインポートする場合は、この設定を有効にします。これにより、データが正しく構成されているかどうかをテストできます。何か問題が発生した場合には、5つの商品を削除や修正する方が、500件の商品をインポートした後に500件の処理をするよりも簡単です。
- インポート方法:すべての商品をインポートするか、一部の商品のみをインポートするかを以下から選択します。
- 全ての商品をファイルからインポート:基本的に新しい商品が作成されますが、商品がすでに存在する場合(存在するかどうかは商品のコードによって確認されます)には更新が行われます。この方法は、商品インポートの標準的な動作です。
- 既存の商品のみを更新:ECサイトやマーケットプレイスサイトに存在しない商品はスキップし、存在する商品のみが更新されます。このインポート方法は、サプライヤーが販売している全ての商品のファイルを提供しているが、一部のみしか販売をしていない場合に便利です。これにより、インポート後に不要な商品がECサイトやマーケットプレイスサイトに表示されることはありません。
- 新しい商品のみを作成:ECサイトやマーケットプレイスサイトにすでに存在する商品をスキップし、存在しない商品のみがインポートされます。このインポート方法は、インポート後に一部の商品データ(説明、商品名など)を変更する場合に便利です。これにより、サプライヤーからデータを再度インポートする必要がある場合でも、変更が失われることはありません。
他のデータを変更せずに、既存の商品の数量のみを更新する必要がある場合は、別のプリセットを作成し必要なフィールド(商品のコードと数量)のみをマッピングします。マッピングしないフィールドは無視されます。
- 在庫数をリセット:インポートでECサイトやマーケットプレイスサイトのすべての商品の数量を0に設定する場合は、この設定を有効にします。インポートされたファイルで数量が指定されている商品のみが、異なる数量になります。
デフォルトで非表示になっている3つの追加設定があります。
- インポート前に既存の商品ファイルを削除:この設定を有効にすると、商品をインポートすると、既存のファイルが削除されます。設定が無効になっている場合、商品をインポートしても、既存のファイルは置き換えられず、追加が行われます。
- 既存の追加画像を削除:この設定を有効にすると、商品のすべての追加画像が、インポートファイルで指定された画像に置き換えられます。設定が無効になっている場合、商品に追加画像をインポートしても、既存の追加画像が置き換えられるのではなく、既存の画像に加えて新しい画像が追加されます。
- 既存画像の削除:この設定を有効にすると、インポートされた商品の既存の添付ファイルは、インポートファイルで指定された添付ファイルに置き換えられます。添付ファイルが指定されていない場合、古い添付ファイルは残ります。設定を無効にすると、新しい添付ファイルが既存の添付ファイルに追加されます。
右上の「インポート」ボタンをクリックすると、プリセットが適切に構成されていて、インポートファイルのデータが正しい場合には、商品がインポートされます。
インポート後、管理画面の上部メニューから「商品 > 商品」をクリックし、「最新アップデート」(または、「詳細検索」)を使用して、過去1時間以内に更新されたすべての商品を表示できます。これは、インポート結果を確認するのに役立ちます。