EC-CUBE のカスタマイズ その2(EC-CUBEのデータベース構造)

それでは商品規格とはどのような情報でしょうか。「商品管理」-「規格管理」を表示してみると、サンプルデータとして「大きさ(3)」「味(3)」が登録されています。「大きさ(3)」の「分類登録」リンクをクリックすると、「大きさ」として「S」「M」「L」の3分類が登録されており、(3)はその規格に登録されている分類数であることがわかります。

まずdtb_class(規格情報)を見てみましょう。

class_id name rank
1 1
2 大きさ 2

dtb_classcategory(規格分類情報)も見てみます。

classcategory_id name class_id rank
1 バニラ 1 1
2 チョコ 1 2
3 抹茶 1 3
4 L 2 1
5 M 2 2
6 S 2 3
0 NULL 0 0

商品名「おなべ」のdtb_products_class(商品規格情報)でclasscategory_id1とclasscategory_id2がともに0となっていましたが、このdtb_classcategory(規格分類情報)との関連付けのためclasscategory_id=0のデータが登録されています。

規格が登録されている商品ではどのようになっているか見てみましょう。検索画面に戻り商品名「アイスクリーム」の行で「規格」リンクをクリックすると、

商品規格(アイスクリーム)
以下4行分省略しました

規格1に「抹茶」、規格2に「S」、商品コードに「ice-01」と登録された商品など9つの商品が登録されているのがわかります。それぞれの行に販売価格や在庫数などの列も有り、規格ごとに細かく設定できることがわかります。ここで、規格1では「味」が規格2では「大きさ」が設定できるようになっていますが、商品により規格1を「大きさ」にしても構いませんし、あるいは異なる規格「色」にしてもいい。そんな仕組みになってます。この商品名「アイスクリーム」のdtb_products_class(商品規格情報)は以下のように登録されています。

product_class_id product_id classcategory_id1 classcategory_id2 product_code stock price01 price02 del_flg
0 1 0 0 NULL 1000 933 1
1 1 3 6 NULL 1000 933 0
2 1 3 5 NULL 1000 933 0
3 1 3 4 NULL 1000 933 0
4 1 2 6 NULL 1000 933 0
5 1 2 5 NULL 1000 933 0
6 1 2 4 NULL 1000 933 0
7 1 1 6 NULL 1000 933 0
8 1 1 5 NULL 1000 933 0
9 1 1 4 NULL 1000 933 0

規格が登録されている場合は、classcategory_id1とclasscategory_id2がともに0のデータにはdel_flgに1がセットされており、規格を全て削除するとclasscategory_id1とclasscategory_id2がともに0のデータが復活する、という具合です。

次回はカスタマイズの仕方について、私なりの方針について記述します。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です