バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

機能要望 > 管理機能 > 在庫0 メール通知機能について

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
nacho
投稿日時: 2009/2/17 13:38
対応状況: −−−
一人前
登録日: 2008/12/8
居住地:
投稿: 103
在庫0 メール通知機能について
いつもお世話になっております。

ec-cube2.3.0

「少なくなった在庫をメールで知らせてくれる機能」
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=1044&forum=7&post_id=3330#forumpost3330

こちらを参考に設定を変更してみたのですが
在庫数の設定を「無制限」にしていると
注文があるたびに在庫が少なくなりましたメールが
届くようです。

在庫数を設定しているものと無制限にしているものと両方扱っているので
これを回避する方法がありましたらご教授いただけますと助かります。
また、メッセージには商品IDなどをお知らせしてくれるようになっていますが
これを
商品コード、商品名で設定する方法も、宜しければ合わせてお願い致します。

いつも助けていただいてばかりで恐縮ですが
どうぞ宜しくお願いします<(_ _)>
homan
投稿日時: 2009/2/17 15:03
対応状況: −−−
仙人
登録日: 2007/7/2
居住地: 宮崎県宮崎市
投稿: 633
Re: 在庫0 メール通知機能について
これ、よい機能ですね!
リンク先のスレッドにもありますように、もう少し改善すれば、もっともっとよくなりそうですね。

無制限のものも考慮するならば、追加したif文のところで

 if($arrRet[0]['stock'] <= 5){


のところを単純に

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


みたいな感じにするといかがでしょうか。


商品コードや商品名は、おそらく$arrIDで引き継いできていないので、呼び出し元のPHP側で追加するか、もしくは$arrID[0]に格納されているproduct_idを元にデータを抽出する必要がありそうですね。

以下は動作確認せず、取り急ぎ脳内で組み立てたものなので、パフォーマンスなどを無視しています。また、エラーが生じるかもしれません・・・。赤太文字部分が追記です。


if($arrRet[0]['stock'] <= 5 && $arrRet[0]['stock_unlimited'] != '1'){
	//商品名、商品コードを抽出
	$where = "t1.product_id = ? AND t1.product_id = t2.product_id AND t2.classcategory_id1 = ? AND t2.classcategory_id2 = ?";
	$arrProduct = $objQuery->select("t1.name, t2.product_code", "dtb_products AS t1, dtb_products_class AS t2", $where, $arrID);

	// メール送信先
	$stock_mail = "zaiko@domain.com";
	// 件名
	$stock_sub = "商品在庫が少なくなりました。";
	// メッセージ
	$stock_msg = "商品名:".$arrProduct[0]['name']." 商品コード:".$arrProduct[0]['product_code']." 商品ID:".$arrID[0]."(".$arrID[1].",".$arrID[2].")"."の商品が少なくなりました。";
	// メールを送信します。
	mb_send_mail($stock_mail, $stock_sub, $stock_msg);
}


----------------
このコミュニティでの投稿はボランティアの範囲に留めさせていただいています。個別の相談やカスタマイズは有償にて承っておりますのでご相談下さい。

[url=http://www.eccube-school.jp/]EC-CUBE

nacho
投稿日時: 2009/2/17 22:41
対応状況: 解決済
一人前
登録日: 2008/12/8
居住地:
投稿: 103
Re: 在庫0 メール通知機能について
早速のお返事ありがとうございます。

先ほどテストしてみたら
無事に希望通りに動きました〜

こんなに短時間に、、、すごいです。

ありがとうございます!
nacho
投稿日時: 2010/7/10 20:09
対応状況: −−−
一人前
登録日: 2008/12/8
居住地:
投稿: 103
Re: 在庫0 メール通知機能について
大変重宝して使わせて頂いております。

一部改良したい点があり、再度ご教授いただけますと幸いです。

●現状:在庫5以下になると0になるまで毎回メールが届く。

○希望:在庫が5になった時と0になった時にそれぞれメールが届く。

if($arrRet[0]['stock'] = 5 && $arrRet[0]['stock'] = 0 && $arrRet[0]['stock_unlimited'] != '1'){

これで大丈夫でしょうか?


●現状:メールの本文に商品コード、商品名が反映される。

○希望:メールの件名に商品コード、商品名に加え規格1.2と在庫数を反映させたい。

"商品名:".$arrProduct[0]['name']." 商品コード:".$arrProduct[0]['product_code']." 商品ID:".$arrID[0]."(".$arrID[1].",".$arrID[2].")"."の商品が少なくなりました。";

単純にこの部分を件名部分に差し込んでも件名には反映されませんでした。

いつもお世話になってばかりで恐縮ですがお教え願えますと助かります。
どうぞ宜しくお願いします。
AMUAMU
投稿日時: 2010/7/11 0:35
対応状況: −−−
登録日: 2009/5/2
居住地: 東京都
投稿: 2712
Re: 在庫0 メール通知機能について
>○希望:在庫が5になった時と0になった時にそれぞれメールが届く。

if(($arrRet[0]['stock'] = 5 or $arrRet[0]['stock'] = 0) && $arrRet[0]['stock_unlimited'] != '1'){



>○希望:メールの件名に商品コード、商品名に加え規格1.2と在庫数を反映させたい。

実際どういうコードにされたのでしょうか?
$stock_subに設定すれば行けそうに見えますが・・・


----------------
EC-CUBE公式エヴァンジェリスト
EC-CUBEインテグレートパートナー (株)スピリット・オブ
移転・拡張・高速化・問題解決
各種カスタマイズ・支援依頼承ります。

[url=h

nacho
投稿日時: 2010/7/11 17:02
対応状況: −−−
一人前
登録日: 2008/12/8
居住地:
投稿: 103
Re: 在庫0 メール通知機能について
AMUAMU 様

ご連絡ありがとうございます。

以前、以下のようにしたら
「商品名:商品コード:商品ID:の商品が少なくなりました。」
という感じで、抽出されるはずの部分が空欄になったのですが
AMUAMU様からのお返事を受け、もう一度トライしたところ
きちんと、反映されました。
どこか間違っていたようです。
大変お騒がせ致しました。

if($arrRet[0]['stock'] <= 5 && $arrRet[0]['stock_unlimited'] != '1'){
//商品名、商品コードを抽出
$where = "t1.product_id = ? AND t1.product_id = t2.product_id AND t2.classcategory_id1 = ? AND t2.classcategory_id2 = ?";
$arrProduct = $objQuery->select("t1.name, t2.product_code", "dtb_products AS t1, dtb_products_class AS t2", $where, $arrID);

// メール送信先
$stock_mail = "zaiko@domain.com";;
// 件名
$stock_sub = "商品名:".$arrProduct[0]['name']." 商品コード:".$arrProduct[0]['product_code']." 商品ID:".$arrID[0]."(".$arrID[1].",".$arrID[2].")"."の商品が少なくなりました。";
// メッセージ
$stock_msg = "商品名:".$arrProduct[0]['name']." 商品コード:".$arrProduct[0]['product_code']." 商品ID:".$arrID[0]."(".$arrID[1].",".$arrID[2].")"."の商品が少なくなりました。";
// メールを送信します。
mb_send_mail($stock_mail, $stock_sub, $stock_msg);
}

>○希望:在庫が5になった時と0になった時にそれぞれメールが届く。


if(($arrRet[0]['stock'] = 5 or $arrRet[0]['stock'] = 0) && $arrRet[0]['stock_unlimited'] != '1'){

お教え頂きありがとうございます!
やっぱり、こちらで聞いてよかったです。


規格1.2と在庫数を反映させるには
どうすればよいでしょうか。

t2.classcategory_id1 = ? AND t2.classcategory_id2

↑これが規格?と思ったのですが
先に進めずにおります。
どうぞ宜しくお願いします。
AMUAMU
投稿日時: 2010/7/11 22:00
対応状況: −−−
登録日: 2009/5/2
居住地: 東京都
投稿: 2712
Re: 在庫0 メール通知機能について
$arrIDに商品IDと規格IDが入っていますので、それの名前を取り出す処理を加えるだけかと思います。
在庫数は既に制御に使われているので分かるかと思います。


----------------
EC-CUBE公式エヴァンジェリスト
EC-CUBEインテグレートパートナー (株)スピリット・オブ
移転・拡張・高速化・問題解決
各種カスタマイズ・支援依頼承ります。

[url=h

nacho
投稿日時: 2010/7/12 0:54
対応状況: −−−
一人前
登録日: 2008/12/8
居住地:
投稿: 103
Re: 在庫0 メール通知機能について
お返事頂きありがとうございます。

在庫数はこのようにしたのですが、注文後の数を反映させたいので
反映された数から1つマイナスしたいのですが
"在庫数:".$arrRet[0]['stock']-1
でやってみた所、画面が真っ白になってしまいました。


// 件名
$stock_sub = "在庫数:".$arrRet[0]['stock'] ."商品名:".$arrProduct[0]['name']." 商品コード:".$arrProduct[0]['product_code']." 商品ID:".$arrID[0]."(".$arrID[1].",".$arrID[2].")"."の商品が少なくなりました。";


規格の方がヒントをいただいたのですが、苦戦しております。

名前は規格1が dtb_products AS t1 で大丈夫でしょうか?
これをこのまま $stock_sub に商品名などと同様に差し込むのでは駄目だったのですが
名前を取り出す処理というのはどのように行えばいいか、お教えいただけますと助かります。

どうぞ宜しくお願いします。
nacho
投稿日時: 2010/7/12 20:01
対応状況: −−−
一人前
登録日: 2008/12/8
居住地:
投稿: 103
Re: 在庫0 メール通知機能について
在庫数については、
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=1044&forum=7&post_id=3330#forumpost3330
こちらで、ryo様がかかれていましたので
そのまま、使わせて頂きました。
ありがとうございます。

"在庫数:".$sqlval['stock']

これで、希望通りに注文後の在庫数が反映されました。

規格についてはまだ、わからない状態ですので
引き続き宜しくお願いします。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
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.