EC-CUBE2.11 カート処理をいじる。
EC-CUBE2.4系の場合、カートの処理をいじりたい場合には
data/class/helper/SC_Helper_DB.php
をいじっていた。
メール便の場合は送料210円に。
メール便の場合に同梱できる数量を商品毎に設定して、それを超えたら通常の宅配便で送る。
通常便の場合には送料一律525円。
送料無料のメール便に通常配送のセットなら、525円。
メール便+通常商品の場合には(210円+525円)735円。
メール便+通常商品でメール便の同梱数量が超えた場合は525円で通常商品に同梱。
クール便の場合には250円プラス。
クール便+通常商品の配送料金は1300円(525+775円)
…という感じで、それぞれに細かく配送料金が変わってくるような場合、データベースのカラムをいじってフラグを立てまくって、処理も複雑なものになりがち。
2.11系の場合には、
data/class/helper/SC_Helper_DB.php
ではなく
data/class/SC_CartSession.php
の
function calculate()
でそれを行う。
foreach ($cartItems as $item) {}
の部分で、商品毎に処理をしているので
$item['productsClass'][product_id]
で商品コードを取得して処理を行い
$results['deliv_fee']
に値を入れていくという作業を繰り返す。
処理が複雑で大変。。。
7/12現在、EC-CUBEへの商品登録数…2380件。
登録カテゴリ数…206件。
とりあえず、EC-CUBE2.4.4から2.11.1へのお引越しも間近。
ひとつのEC-CUBEで複数のサイトを運営しているんで、そのへんの処理が終わればだいたい終了…と。
1週間でやる作業じゃなかったなぁ…。
よくよく考えてみたら、2.4系から2.11系へのバージョンアップって、数字的にはマイナーバージョンアップみたいだけど、ほとんどメジャーバージョンアップ。
データベース構成も変更になってるし、プログラムのロジックも大幅変更。
data/class/helper/SC_Helper_DB.php
をいじっていた。
メール便の場合は送料210円に。
メール便の場合に同梱できる数量を商品毎に設定して、それを超えたら通常の宅配便で送る。
通常便の場合には送料一律525円。
送料無料のメール便に通常配送のセットなら、525円。
メール便+通常商品の場合には(210円+525円)735円。
メール便+通常商品でメール便の同梱数量が超えた場合は525円で通常商品に同梱。
クール便の場合には250円プラス。
クール便+通常商品の配送料金は1300円(525+775円)
…という感じで、それぞれに細かく配送料金が変わってくるような場合、データベースのカラムをいじってフラグを立てまくって、処理も複雑なものになりがち。
2.11系の場合には、
data/class/helper/SC_Helper_DB.php
ではなく
data/class/SC_CartSession.php
の
function calculate()
でそれを行う。
foreach ($cartItems as $item) {}
の部分で、商品毎に処理をしているので
$item['productsClass'][product_id]
で商品コードを取得して処理を行い
$results['deliv_fee']
に値を入れていくという作業を繰り返す。
処理が複雑で大変。。。
7/12現在、EC-CUBEへの商品登録数…2380件。
登録カテゴリ数…206件。
とりあえず、EC-CUBE2.4.4から2.11.1へのお引越しも間近。
ひとつのEC-CUBEで複数のサイトを運営しているんで、そのへんの処理が終わればだいたい終了…と。
1週間でやる作業じゃなかったなぁ…。
よくよく考えてみたら、2.4系から2.11系へのバージョンアップって、数字的にはマイナーバージョンアップみたいだけど、ほとんどメジャーバージョンアップ。
データベース構成も変更になってるし、プログラムのロジックも大幅変更。