バージョン選択

フォーラム

メニュー

オンライン状況

34 人のユーザが現在オンラインです。 (28 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 34
もっと...

サイト内検索

質問 > 管理機能 > ダウンロード商品 在庫0 メール通知機能

管理機能

新規スレッドを追加する

スレッド表示 | 古いものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
nacho
投稿日時: 2012/2/17 22:30
対応状況: 解決済
一人前
登録日: 2008/12/8
居住地:
投稿: 103
Re: ダウンロード商品 在庫0 メール通知機能
ご連絡ありがとうございます。

http://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=flat&topic_id=9994&forum=11
バージョン2.11.4の為、こちらも参考にさせて頂き以下のように変更してあります。

$arrRet['stock']

$productsClass['stock']

$arrRet['stock_unlimited'] != '1'

$productsClass['stock_unlimited'] != '1'

無事にダウンロード商品を購入しても、メールが届かないように
出来ました。

ご丁寧に、お教え下さりありがとうございました。大変助かりました。
yona
投稿日時: 2012/2/17 15:35
対応状況: −−−
半人前
登録日: 2012/2/10
居住地:
投稿: 25
Re: ダウンロード商品 在庫0 メール通知機能
すみません、前回ちょっと違う箇所を指摘していました;

以下のような感じでどうでしょう。
SC_Product->reduceStock() に赤文字の部分を追記しています。


    function reduceStock($productClassId, $quantity) {

        if ($quantity == 0) {
            return false;
        }

        $objQuery =& SC_Query_Ex::getSingletonInstance();
        $objQuery->update('dtb_products_class', array(),
                          "product_class_id = ?", array($productClassId),
                          array('stock' => 'stock - ?'), array($quantity));
        // TODO エラーハンドリング

        $productsClass = $this->getDetailAndProductsClass($productClassId);
        if ($productsClass['stock_unlimited'] != '1' && $productsClass['stock'] < 0) {
            return false;
        }

        //商品名、商品コードを抽出
        $where = "t2.product_class_id = ? AND t2.product_id = t1.product_id";
        $arrRet = $objQuery->getRow("t1.name, t1.product_id, t2.product_code, t2.product_type_id", "dtb_products AS t1, dtb_products_class AS t2", $where, $productClassId);
        if($arrRet['stock'] <= 5 && $arrRet['stock_unlimited'] != '1' && $arrRet['product_type_id'] != '2'){
            // メール送信先
            $stock_mail = "zaiko@domain.com";
            // 件名
            $stock_sub = "商品在庫が少なくなりました。";
            // メッセージ
            $stock_msg = "商品名:".$arrRet['name']." 商品コード:".$arrRet['product_code']." 商品ID:".$arrRet['product_id']."(".$productClassId[1].",".$productClassId[2].")"."の商品が少なくなりました。";
            // メールを送信します。
            mb_send_mail($stock_mail, $stock_sub, $stock_msg);
        }

        return true;
    }


ちゃんとしたテストをしていませんので、チェックしていただけると助かります。
おかしなところなどあったらすみません...;
nacho
投稿日時: 2012/2/17 11:17
対応状況: −−−
一人前
登録日: 2008/12/8
居住地:
投稿: 103
Re: ダウンロード商品 在庫0 メール通知機能
ご返信ありがとうございます。

すみません、phpに詳しくない為
もう少し詳しくお聞かせ頂けますと助かります。
yona
投稿日時: 2012/2/15 18:47
対応状況: −−−
半人前
登録日: 2012/2/10
居住地:
投稿: 25
Re: ダウンロード商品 在庫0 メール通知機能
在庫を減らす処理を行う直前に、dtb_products_class(もしくはそれに準じるview)を参照して、
商品種別(product_type_id)がダウンロードでない(!=2)場合のみ、メールを送信するようにすればよいかと思います。
在庫を減らす処理は、SC_Helper_Puchase->registerOrderComplete()の中にあるようなので、
在庫現象の成功後に実装すればご希望の動きになると思いますよ。
nacho
投稿日時: 2012/2/13 21:06
対応状況: −−−
一人前
登録日: 2008/12/8
居住地:
投稿: 103
ダウンロード商品 在庫0 メール通知機能
お世話になっております。

バージョンが2.4.4の時に、以下の質問をさせて頂きました。
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=flat&topic_id=3455&forum=7

今回、2.11.4にさせていただき
ダウンロード販売も出来るようになったのですが
上記の機能でダウンロード販売時はメールが届かないようにしたいと思っています。

現在は在庫無制限以外の商品の在庫数が10以下でメールが届く設定になっています。
これに、「ダウンロード商品は含まない」を追加したいのですが
どのようにすればよいでしょうか?

if($productsClass['stock'] <= 10 && $arrRet[0]['stock_unlimited'] != '1')

宜しくお願いします。
スレッド表示 | 古いものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,913名です
総投稿数は110,006件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1296
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.