EC-CUBEバージョン 2.12.3
PHPバージョン PHP 5.4.10
DBバージョン PostgreSQL 9.1.4
==========================
規格のある商品を新規登録する時、「商品登録CSV」で出来ないかと思われている方がいるといます。
一部を修正(下記参照)することで、私の環境では、新規、更新とも問題なく登録が出来ているのですが、多くの方に検証して頂けたらと思い手順を記載します。
時間のとれる方、試して頂き、レスを頂けたらと思います。
下記は、EC-CUBEを新規インストールした状態での説明になります。
1、dtb_csvの下記を変更
>>no=3
parent_classcategory_id → classcategory_id1
親規格分類ID → 規格分類ID1
>>no=4
classcategory_id → classcategory_id2
規格分類ID → 規格分類ID2
2、data/class/pages/admin/products/LC_Page_Admin_Products_UploadCSV.php の lfCheckErrorDetail() {...} に下記を追加する。
===▼追加===
// 規格分類ID1の存在チェック
if (!$this->lfIsDbRecordMulti('dtb_classcategory', 'classcategory_id', 'classcategory_id1', $item, ',')) {
$arrErr['classcategory_id1'] = '※ 指定の規格分類ID1は、登録されていません。';
}
// 規格分類ID2の存在チェック
if (!$this->lfIsDbRecordMulti('dtb_classcategory', 'classcategory_id', 'classcategory_id2', $item, ',')) {
$arrErr['classcategory_id2'] = '※ 指定の規格分類ID2は、登録されていません。';
}
// 商品ID、規格分類ID1、規格分類ID2の組合せチェック
if ($item['product_class_id'] == '') {
if ($this->objDb->sfIsRecord('dtb_products_class', 'product_id, classcategory_id1, classcategory_id2'
, array($item['product_id'], $item['classcategory_id1'], $item['classcategory_id2']))
) {
$arrErr['classcategory_id'] = '※ 指定の商品ID、規格分類ID1、規格分類ID2の組合せは既に登録されています。';
}
}
===▲追加===
3、管理画面で規格分類IDが確認できるように、data/Smarty/templates/admin/products/classcategory.tpl を変更
<!--{* 規格名 *}--><!--{$arrClassCat[cnt].name|h}-->
↓
<!--{* 規格分類ID *}--><!--{$arrClassCat[cnt].classcategory_id|h}-->: <!--{* 規格名 *}--><!--{$arrClassCat[cnt].name|h}-->
4、テーブルを空にする
DELETE FROM dtb_category_count;
DELETE FROM dtb_category_total_count;
DELETE FROM dtb_product_categories;
DELETE FROM dtb_product_status;
DELETE FROM dtb_products;
DELETE FROM dtb_products_class;
DELETE FROM dtb_recommend_products;
SELECT SETVAL ('dtb_products_class_product_class_id_seq', '1', false);
SELECT SETVAL ('dtb_products_product_id_seq', '1', false);
5、商品管理>カテゴリ登録でカテゴリを登録
テストはデフォルトのまま実施
6、商品管理>規格管理で規格を登録
テストはデフォルトのまま実施
注)dtb_classcategory の classcategory_id =0 は削除しない。
7、商品管理>商品マスターのCSVダウンロードを実施
データが空のファイルが作成される。
8、ダウンロードしたファイルに商品データを登録
※下記必須。
商品ID: 規格違いの商品は同じにする。
商品規格ID: 新規登録(空)、更新時は必須
規格分類ID1: 規格無の時は「0」
規格分類ID2: 規格無の時は「0」
商品名: 規格違いの商品は同じにする。
表示ステータス(公開・非公開): 規格違いの商品は同じにする。(1 or 2)
一覧-メインコメント: 規格違いの商品は同じにする。
詳細-メインコメント: 規格違いの商品は同じにする。
削除フラグ: 規格毎に指定。(0 or 1)
販売価格: 規格毎に指定。
カテゴリID: 規格違いの商品は同じにする。
【規格無しの場合】
規格分類ID1: 0
規格分類ID2: 0
削除フラグ: 0
【規格有りの場合】
規格分類ID1: 0
規格分類ID2: 0
削除フラグ: 1
と、規格の組み合せ。(無い組み合せは登録しなくてもいいが、商品管理>商品登録(商品規格)で更新すると登録されます。)
(組み合せ1)バニラ × S
規格分類ID1: 1
規格分類ID2: 6
削除フラグ: 0
(組み合せ2)バニラ × M
規格分類ID1: 1
規格分類ID2: 5
削除フラグ: 0
(組み合せ3)バニラ × L
規格分類ID1: 1
規格分類ID2: 4
削除フラグ: 0
...