マイクロ office ★excel2016 価格 http://www.msofisu.com

microsoft オフィス ★office365 価格 個人

商品登録CSVで EC-Cube 2.13.1 EC-CUBE 商品規格一括 登録 Eccube 2.12.6

商品登録CSVEC-Cube 2.13.1で EC-CUBE 商品規格一括 登録

EC-Cube 2.13.1で EC-CUBE 商品規格一括 登録下記は、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 ...

上の方法でEccube2.12.6成功。在庫連動型受注キャンセルプラグインを無料でダウンロードして、一緒に在庫楽に管理でき。


[EC-CUBE] 2.13 商品登録CSVで規格も新規登録する

phpMyAdmin等で、データベースにアクセスし「dtb_csv」の下記を変更

no=3 parent_classcategory_id → classcategory_id1 親規格分類ID → 規格分類ID1 no=4 classcategory_id → classcategory_id2 規格分類ID → 規格分類ID2

上記の変更は手動で変更するよりSQLを実行すると早かったです
1 2 UPDATE dtb_csv SET col = "classcategory_id1", disp_name = "規格分類ID1" WHERE no = 3; UPDATE dtb_csv SET col = "classcategory_id2", disp_name = "規格分類ID2" WHERE no = 4;

data/class_extends/page_extends/admin/products/LC_Page_Admin_Products_UploadCSV_Ex.phpに追記(EC-CUBE本体)

(1)data/class/pages/admin/products/LC_Page_Admin_Products_UploadCSV.php のlfCheckErrorDetail() {~}を コピーして LC_Page_Admin_Products_UploadCSV_Ex.phpの{~}の最後に追記します。
1 2 3 4 class LC_Page_Admin_Products_UploadCSV_Ex extends LC_Page_Admin_Products_UploadCSV { ~ (ココに追記) }
(2)さらに下記を、lfCheckErrorDetail() {~}の最後に追記する
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 // 規格分類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の組合せは既に登録されています。'; } }
1 2 3 4 public function lfCheckErrorDetail($item, $arrErr) { ~ (ココに追記) }

data/Smarty/templates/admin/products/classcategory.tpl 修正(EC-CUBE本体)

管理画面で規格分類IDが確認できるように、規格名を表示する部分の前にIDを表示するよう変更する。
1 <!--{* 規格分類ID *}--><!--{$arrClassCat[cnt].classcategory_id|h}-->: <!--{* 規格名 *}--><!--{$arrClassCat[cnt].name|h}-->
下記のテーブルを修正(データベース)
  • dtb_productsを空に
  • dtb_products_classを空に
  • dtb_product_categoriesを空に
  • dtb_product_statusを空に
  • dtb_products_class_product_class_id_seqを開いて「sequence」の値を「1」に
  • dtb_products_product_id_seqを開いて「sequence」の値を「1」に
SQLを実行する方が早かったです(上記の変更)
1 2 3 4 5 6 7 8 DELETE FROM dtb_products; DELETE FROM dtb_products_class; UPDATE dtb_products_class_product_class_id_seq SET sequence = 0; ALTER TABLE dtb_products_class_product_class_id_seq AUTO_INCREMENT = 1; UPDATE dtb_products_product_id_seq SET sequence = 0; ALTER TABLE dtb_products_product_id_seq AUTO_INCREMENT = 1; DELETE FROM dtb_product_categories; DELETE FROM dtb_product_status;

あとは、管理画面からカテゴリー登録と規格登録をして準備Okです。(管理画面)

  1. 管理画面の商品カテゴリーでカテゴリを登録
  2. 管理画面の規格管理で規格を登録
  3. 商品マスターで [CSVダウンロード] して、データが空のファイルをダウンロード
  4. ダウンロードしたCSVファイルに、下記表を参考に商品データを登録
  5. 商品登録CSVで作成したCSVファイルをアップロード
必須項目一覧
商品ID 規格違いの商品は同じに
商品規格ID 新規登録(空)、更新時は必須
規格分類ID1 規格なしの時は「0」
規格分類ID2 規格なしの時は「0」
商品名 規格違いの商品は同じに
表示ステータス(公開・非公開) 規格違いの商品は同じに(1 or 2)
一覧-メインコメント 規格違いの商品は同じに
詳細-メインコメント 規格違いの商品は同じに
削除フラグ 規格毎に指定/(1 or 0)
販売価格 規格毎に指定
カテゴリID 規格違いの商品は同じにする。 ダブルクオーテーションで括れば複数指定可

【重要】「規格有無による登録レコード」の組み合わせについての注意点

参考にさせていただいたサイトに記載のある「規格有無による登録レコード例」の組み合わせは、最初、意味が解らなかったのですが、フォーラムで質問させていただき、ようやく理解(とまではいかないですが)できました。 普通は、下記のような組み合わせで、CSVデータを作成すると思いますが、 [規格id1/1] [規格id2/6] [削除フラグ/0] [バニラ] [Sサイズ] [アイスクリーム] [規格id1/1] [規格id2/5] [削除フラグ/0] [バニラ] [Mサイズ] [アイスクリーム] [規格id1/1] [規格id2/4] [削除フラグ/0] [バニラ] [Lサイズ] [アイスクリーム] もしもアイスクリームの規格を削除した場合、[規格id1/0] [規格id2/0] [削除フラグ/1] [アイスクリーム]の組み合わせがなければ、価格を表示しない等の不具合が起こるのだそうです。 そのため、下記のような組み合わせで作成する必要があります。 [規格id1/0] [規格id2/0] [削除フラグ/1] [アイスクリーム] [規格id1/1] [規格id2/6] [削除フラグ/0] [バニラ] [Sサイズ] [アイスクリーム] [規格id1/1] [規格id2/5] [削除フラグ/0] [バニラ] [Mサイズ] [アイスクリーム] [規格id1/1] [規格id2/4] [削除フラグ/0] [バニラ] [Lサイズ] [アイスクリーム] ■インストール直後、商品管理でCSVをダウンロードしてエクセルで開くと下記のようになっています。 ※管理画面から規格を登録した場合には下記画像のようなデータが作成されます。 excel ■カスタマイズ後、規格もCSVで新規登録する場合のデータ例(商品規格IDは自動で振られる:更新時は必須) excel-4 「アイスクリーム」の規格を削除することがないなら、[規格id1/0] [規格id2/0] [削除フラグ/1] の組み合わせは不要との事です。 くれぐれも入念にバックアップするか、テストサイトで試されることをお勧めします。