○作業目的
ECCubeで在庫管理をしたい。
⇒販売可能個数を管理して、しきい値を下回ったら管理者にメールを
送信するようにする。
⇒ECCubeでは正式には「在庫数」でなく、「販売可能個数」である。
倉庫にある数を把握しているわけではなく、注文を受けても対応できる
確実な個数を把握している。
本来であれば意味は異なるが、今回の場合は手数を掛けない為に
上記を同義として作業を進める。
○対象ファイル
/eccube-2.3.3/data/class/pages/shopping
LC_Page_Shopping_Complete.php
○作業箇所
700行目付近から約20行
○作業内容
以下、抜粋
// 100604 Add
if($sqlval['stock'] < "5") { $toMail = "clown@clown.jp"; $subject = "商品在庫が少なくなりました。"; $Msg = "商品ID:".$arrID[0]."(".$arrID[1].",".$arrID[2].")"."の商品が少なくなりました。残:".$sqlval['stock']; $shop_name = "テストショップ"; $objMail = new SC_SendMail(); $objMail->setItem( '' // 宛先 , $subject // サブジェクト , $Msg // 本文 , $toMail // 配送元アドレス , $shop_name // 配送元 名前 ); // 宛先の設定 $objMail->setTo($toMail); $objMail->sendMail(); }
・この作業以前で、販売可能個数をひとつ減らしている
・販売可能個数 $sqlval['stock'] の数が5以下になったらメールを送信する
⇒本来であれば、
・しきい値は商品毎
・メールアドレスは管理者
・メール本文はカスタマイズ可能
まで作りこんでおきたいところ。
○懸念事項
上記作業では、販売可能個数がしきい値以下になると購入のたびにメールが送信される。
しきい値が小さければいいが、20や30など、そこそこの数字にしているとその商品が
売れるごと、19回や29回メール送信されることになる。
場合によっては、うっとうしいかも。