「商品インポート」アドオンの設定方法

「商品インポート」アドオンは、CS-Cartのインポートを便利にしてくれるアドオンです。

商品インポートの各種設定を保存することで、同様の構造のファイルをインポートできるようになります。

古いインポートの課題

CS-Cart に元から用意されていたインポートには以下の問題がありましたが、「商品インポート」アドオンを利用することで、解消が可能です。


問題:サプライヤーから提供されたファイルのフィールド名が、CS-Cart のフィールド名とは異なる場合、ファイル毎にフィールド名を変更する必要がありました。

解決策:商品インポートを使用すると、インポートしたファイルのフィールド名を、CS-Cartの商品プロパティ名と一致させることができます。これにより、サプライヤーから受け取るすべての新しいインポートファイルのフィールド名を変更する必要がなくなります。


問題:インポートされたファイルを調整する必要がある場合がありました。たとえば、サプライヤーよりも高い価格で商品を販売する場合、サプライヤーの価格を一定の割合で引き上げる必要がありますが、以前はインポートしたファイルを編集する必要がありました。

解決策:商品インポートでは、関数(sumやsub、mul、div等)を使用できますので、価格の変更も簡単に行えます。


問題:一部のサプライヤーは、CSVファイルの代わりにXMLファイルを提供していますが、CS-Cart は、以前のバージョンではCSVファイルのみをサポートしていました。

解決策:商品インポートは、XMLファイルとCSVファイルの両方をサポートします。


問題:サプライヤーから提供されたCSVファイルには、同じ名前の複数のフィールドが含まれている可能性があります。その場合、フィールドのデータは正しくインポートされず、ファイルを編集する必要がありました。

解決策:商品インポートを使用すると、CS-Cart の商品プロパティをこれらの繰り返しフィールド(またはXMLノード)のそれぞれに割り当てることができます。これにより、1商品につき複数の画像をインポートすることができます。


問題:サプライヤーはインポートされたファイルを定期的に提供してきますが、特定の時間間隔でインポートを自動的に実行することができませんでした。

解決策:インポートプリセットを作成すると、cronジョブにコマンドを追加することでインポートを自動化できるようになります。インポートを実行するためのコマンドは、「ファイル」タブに表示されます。


「商品インポート」アドオンでのインポート

商品のインポートを行うには、管理画面の上部メニューから「一般設定 > インポート >商品[[アドオン]」をクリックして行います。

ファイル

商品インポートの追加:ファイル
商品インポートの追加:ファイル

最初は、新たなインポートプリセットを追加することが必要です。

インポートプリセットを追加するには、「 商品インポートの追加」の「ファイル」タブで、基本設定を行います。

基本設定

  • ファイル:登録するファイルの場所
    • ローカル
    • サーバ
    • URL
  • 名前:必須項目:インポートプリセットの名前。ファイルを選択した場合には、ファイル名が自動で入ります。
  • 画像用ディレクトリ:画像保存用のディレクトリ。

インポートするファイル(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ジョブにコマンドを追加することでインポートを自動化できるようになります。インポートを実行するためのコマンドは、「ファイル」タブに表示されます。

フィールドマッピング

「フィールドマッピング」タブに切り替えます。

フィールドマッピングでは、インポートされたファイルをCS-Cartにどのようにインポートするかを設定します。

商品インポート:フィールドマッピング
商品インポート:フィールドマッピング
  • インポートされたファイルのフィールドやXMLノードを、CS-Cartの対応する商品プロパティと一致させます。
  • インポートされたデータの例をチェックして、正しいかどうか、インポートされたデータが対応する商品プロパティのフィールド形式に従っていることを確認してください。
  • 必要に応じて、関数を追加します。関数は、インポートされたデータを変更するのに役立つもので、「関数一覧」ボタンで用意されている関数とその使用方法を確認できます。

関数の使用例

  • 2つのサプライヤーから商品をインポートする場合。
    各サプライヤーは、商品ごとに内部で一意のSKU(CS-CartのCODEフィールド)を使用しますが、サプライヤーのいくつかのSKUは重複しています。
    また、各サプライヤーは、同じSKUを持つ異なる商品を持っていますが、商品ごとに一意のSKUが必要です。

    この場合、サプライヤーごとに異なるインポートプリセットを作成できます。
    例えば、サプライヤー1から商品をインポートするときにconcat(SPLR1-, $value)という関数を追加すると、そのサプライヤのすべてのSKUにSPLR1というプレフィックスが付き、SKUは一意になります。

これは、これらの商品がまだECサイトに登録されていない場合にのみ機能します。そうでない場合には、古い商品は古いSKUのままになり、インポートされた商品のみ新しい商品として作成されます。

  • サプライヤーが在庫のある商品の数を提供しない場合。
    このファイルには、商品が入手可能な場合は「はい」が含まれ、それ以外の場合は「いいえ」が含まれます。ただし、 CS-Cart では、商品の数量として番号を指定する必要があります。

    この場合、フィールドの可用性をcase($value=Yes, 100, $value=No, 0)という関数で判断して数量を追加できます。
    フィールドに「はい」がある場合、CS-Cartは100個のアイテムが在庫にあると想定し、「いいえ」はアイテムを0個を意味します。
  • サプライヤーからの商品を10%高い価格で販売しているが、サプライヤーがファイルに価格を記載している場合
    この場合、価格のあるフィールドにmul($value, 1.1)という関数を追加して、インポートされたファイル内のすべての価格を自動的に10%増やすことができます。

フィールドマッピングと関数を設定したら、右上の「保存」ボタンをクリックします。

すべてが適切に実行できたら、インポートされた値が変更されたことがわかります。

基本設定

「基本設定」タブに切り替えます。

基本設定

商品インポート:基本設定
商品インポート:基本設定

基本設定には、インポート動作に関連する設定が含まれています。

  • テストインポートを実行:ファイルから最初の5つの商品のみをインポートする場合は、この設定を有効にします。これにより、データが正しく構成されているかどうかを確認できます。何か問題が発生した場合に5つの商品を削除や修正する方が、全件インポートをした後に500の商品を処理するよりも簡単です。
  • インポート方法:すべての商品をインポートするか、一部の商品のみをインポートするかを選択します。
    • 全ての商品をファイルからインポート:新しい商品が作成されますが、商品がすでに存在する場合(存在は商品コードによって決定されます)には更新が行われます。この方法は、商品インポートの標準的な動作です。
    • 既存の商品のみ更新:ECサイトに存在しない商品はスキップし、すでに存在する商品のみが更新されます。この方法は、サプライヤーがすべての商品を含むファイルを提供しているが、販売は一部のみとなっている場合に便利です。これにより、インポート後に不要な商品がECサイトに表示されることはありません。
    • 新しい商品のみ作成:ECサイトにすでに存在する商品はスキップし、ECサイトに存在しない商品のみがインポートされます。この方法は、インポート後に一部の商品情報(説明、商品名など)を変更する場合に便利です。これにより、そのサプライヤーからデータを再度インポートする必要がある場合でも、変更が失われることはありません。

他のデータを変更せず、既存商品の数量のみを更新する必要がある場合には、別のプリセットを作成し、必要なフィールド(商品コードと数量)のみを用意します。

用意されていないフィールドは無視されます。

  • 在庫数をリセット:インポート中にECサイトのすべての商品の数量を0に設定する場合は、この設定を有効にします。インポートされたファイルで数量が指定されている商品のみが、異なる数量になります。

追加設定

追加設定は、デフォルトで非表示になっています。

  • インポート前に既存の商品ファイルを削除:この設定を有効にして、ダウンロード可能な商品をインポートすると、既存のファイルが削除されます。設定が無効になっている場合、ダウンロード可能な商品のファイルをインポートしても、既存のファイルは置き換えられず、追加が行われます。
  • 既存の追加画像を削除:この設定を有効にすると、商品のすべての追加画像が、インポートされたファイルで指定された画像に置き換えられます。設定が無効になっている場合、商品の追加画像をインポートしても、既存の追加画像は置き換えられず、新しい画像が追加されます。
  • 既存画像の削除:この設定を有効にすると、インポートされた商品の既存の添付ファイルは、インポートされたファイルで指定された添付ファイルに置き換えられます。添付ファイルが指定されていない場合、古い添付ファイルは残ります。設定を無効にすると、新しい添付ファイルが追加されます。

全ての設定が完了したら、右上にある「インポート」をクリックします。

設定が適切に行われていて、インポートされたファイルのデータが正しい場合、商品がインポートされます。

インポート完了後、管理画面の上部メニューから「商品 > 商品」をクリックし、最新アップデートを使用して、過去1時間以内に更新されたすべての商品を表示(または「詳細検索」で検索をします)して、更新された商品を確認します。