ホーム » ビジネスブログ » Zen Cart(オンラインショップ構築) »

Zen Cartハイエンド版のモジュール:product_csvで商品データの一括インポート・一括エクスポートをする

2013年9月26日

Zen Cartハイエンド版のモジュール:product_csvで商品データの一括インポート・一括エクスポートをする

投稿者 竹村

Zen Cartで商品の一括インポートやエクスポートをする際には Easypopulate というモジュールを利用する方法が一般的です。

Easypopulate の弱点として、一括インポート登録時に Easypopulate の形式に合うように整形してからアップロードする必要がある、という点が挙げられます。商品重量など「うちのショップには必要ないけれど...」と思いつつ空欄の列を用意することになるわけです。

商品データの管理をZen Cart内で完結している場合はよいですが、別のシステムなどから抽出した商品データをZen Cartへインポートする際に Easypopulate 形式に合わせる必要がある、というのはやや手間に感じることが多いものです。

Zen Cartハイエンド版のモジュール「product_csv」では、このインポート・エクスポートの形式の指定ができます。

「商品マスタ」のデフォルト設定されているフォーマットの一覧

▲「商品マスタ」の現在設定されているフォーマットの一覧
(※図版はクリックで拡大します)

商品CSVのタイプ

product_csvで インポート・エクスポートができるタイプとしては、Easypopulate と同じく「商品マスタ」「カテゴリマスタ」「オプションマスタ」の3種類があります。

  • 商品マスタ    ...商品データの定義
  • カテゴリマスタ  ...カテゴリの定義、およびカテゴリと商品の紐付け
  • オプションマスタ ...オプションの定義、および商品との紐付け

「商品マスタ」タイプのインポート・エクスポート形式を複数用意することもできます。例えば、「在庫同期用」として 「商品型番,在庫,表示非表示フラグ」だけのCSV形式 をインポート・エクスポートしたい、といった使い方も可能です。

インポート・エクスポートする時は、タイプを指定して該当CSVのダウンロード・アップロードをします。

商品CSVのダウンロードを「在庫同期用」にした状態

▲商品CSVのダウンロードを「在庫同期用」にした状態
(※図版はクリックで拡大します)

定義方法

「在庫同期用」として「商品型番,在庫,表示非表示フラグ」だけのCSV形式をあらかじめ作っておいたけど、これに対して 価格も変更できるようにしたい とします。そのような場合は、「在庫同期用」のCSV定義を変更することで対応できます。

  • ステップ1:まずは先程の「商品CSVのダウンロード」からCSVをダウンロードしてきます。
↓このような形式になっているので
商品タイプ,在庫数,型番,表示非表示フラグ,無視

↓このように型番の後ろに「価格」を追加してみました
商品タイプ,在庫数,型番,価格,表示非表示フラグ,無視
  • ステップ2:商品CSVの定義から上記のCSVをアップロードします。
    ↓すると下記のようにアップしたCSV形式と、Zen Cartハイエンドの商品データとの紐付けができるようになります。
    第4カラムの価格のプルダウンを「価格」に変更、第5・第6カラムも変更して【更新】ボタンクリック

    ▲第4カラムの価格のプルダウンを「価格」に変更、第5・第6カラムも変更して【更新】ボタンクリック。
    (※図版はクリックで拡大します)

これで、商品エクスポートの際に「在庫同期用」を指定してダウンロードしてみると、ちゃんと価格がダウンロードできるようになっています。また、同様にインポートも可能になります。

商品データのカスタマイズをproduct_csvに反映させるには

ちょっと複雑な要件のECサイトでは、Zen Cartの商品カラムにはない項目を追加する場合があります。

例えば、 書籍販売サイトで、商品の「ISBN」を、productsテーブルに「products_isbn」として追加したとします。
上記の定義方法のステップ1、ステップ2のやり方で、ISBNを追加したCSVをアップロードしてもプルダウンには「ISBN」という項目がありません。

このプルダウンを管理している設定ファイルにISBNを追加する必要があります。

includes/addon_modules/product_csv/languages/japanese.php より、

$GLOBALS['MODULE_PRODUCT_CSV_COLUMNS'] = array(
  array('type_id'=>'1',
    'column_id'=>'1001',
    'name'=>'商品タイプ',
    'validate'=>'validateProductTypeExists',
    'dbtable'=>'product_types',
    'dbcolumn'=>'type_handler'),
  array('type_id'=>'1',
    'column_id'=>'1002',
    'name'=>'在庫数',
    'validate'=>'validateIsSignedFloat',
    'dbtable'=>'products',
    'dbcolumn'=>'products_quantity'),

:(略)

  array('type_id'=>'1',                // ←タイプ
    'column_id'=>'1025',               // ←カラムID(他と被らないこと)
    'name'=>'ISBN',                    // ←インポート・エクスポート時の表示名
    'validate'=>'validateIsSignedInt', // ←インポート時の入力チェック
    'dbtable'=>'products',             // ←テーブル名
    'dbcolumn'=>'products_isbn'),      // ←カラム名

※記述後に追加モジュールの管理からproduct_csvの再インストールが必要です。

これにより、商品カラムに追加したISBNもプルダウンから選択してインポート・エクスポートできるようになります。

ISBNがプルダウンから選択できるようになった

▲ISBNがプルダウンから選択できるようになった。
(※図版はクリックで拡大します)

投稿者 竹村 : 2013年9月26日 10:10

カテゴリー: Zen Cart(オンラインショップ構築)

タグ: addon_modules , オンラインショップ , ECサイト , Zen Cart , ZHE


Movable Type用高機能メールフォーム生成プラグイン A-Formの詳細へ
Movable Type用会員限定サイトプラグイン A-Memberの詳細へ
Movable Type用予約サイト構築プラグイン A-Reserveの詳細へ
ARK-Web×CSR(企業の社会的責任)

アークウェブの本

Zen Cartによるオンラインショップ構築・運用テクニック―オープンソース徹底活用

Zen Cartによるオンラインショップ構築・運用テクニック―オープンソース徹底活用

内容充実のZen Cart公式本(v1.3対応)がついに発表です。アークウェブのスタッフをはじめZen-Cart.JPの中心メンバーが共著で執筆しました。続きを読む

Movable Type プロフェッショナル・スタイル

Movable Type プロフェッショナル・スタイル

ビジネスサイト構築におけるCMSとしてのMTの活用方法について、豪華執筆陣による実践的MT本です。八木が共著で執筆しました。続きを読む

Web屋の本

Web屋の本

Web 2.0時代の企業サイトの構築・運用などの戦略を考える「Web屋の本」 (技術評論社)を、中野・安藤が執筆しました。続きを読む

新着はてブ

Loading

アーカイブ

応援しています

  • キッズ・セーバー
  • ソロモン・リリーフ ─ソロモン諸島を応援する有志による、震災復興支援プロジェクト─

    (終了しました)

RSS配信

 

サービスおよびソリューション一覧


最新情報・投稿をチェック


このページのトップに戻る

Photo by A is for Angie

Powered by Movable Type Pro 6.3.8