[解決済み] 割引設定するとポイントがつかない
- このトピックには7件の返信、3人の参加者があり、最後にnanbuにより12年、 12ヶ月前に更新されました。
-
投稿者投稿
-
2011年7月9日 9:25 PM #50526NI参加者
動作に関するご質問の場合は必ずご記入ください。
Welcart のバージョン:1.0.4
症状を確認したブラウザ:
サーバー(会社名、サービス名):ライブドア
SSLの利用: 専用SSL
WordPress のパーマリンク設定:
こんにちは
割引セールを開始したのですが、ポイント制は普通のままです。
普通割引した額にポイントが付くと思われますが、ポイントが0になっていてお客様のクレームでわかりました。
設定は 全ジャンル15%引き
会員ポイント 付与する
ポイント 商品合計額のみに設定
になっています。
マニュアル見ても「割引するとポイント機能が効かなくなる」という説明がないのでバグではないでしょうか。
普通は
買い物額 − 割引額 − ポイント使用分 にたいしてもポイントがつくと思われますが・・・
2011年7月11日 1:43 AM #62354nanbuキーマスターこんにちは。
キャンペーン中はポイント付与か割り引きかのどちらかとなっております。そのためのラジオボタンですが、説明が不足しておりました。マニュアルを修正したいと思います。
https://www.welcart.com/documents/manual-2/%E5%9F%BA%E6%9C%AC%E8%A8%AD%E5%AE%9A
2011年7月11日 2:40 AM #62355NI参加者こんにちは
キャンペーンが「割引」か「ポイント」の二者択一ということはラジオボタンなのでわかるのですが、ということは、割引中は通常設定のポイントもつかなくなるという理解でよろしいのでしょうか。
2011年7月12日 1:07 AM #62356nanbuキーマスターはい、その通りです。
2011年8月7日 12:08 AM #62357NI参加者こちらですが・・・
おそらくバグなのか仕様的に矛盾があるかは不明ですが・・・すべてのジャンルの商品にキャンペーンを適応された場合はきちんと機能しますが、一部のジャンルの商品のみに割引設定のキャンペーンを行うと矛盾が発生します。
1 対象外の商品を購入してもポイントが付かない
※これはやはり、ポイントと割引のどちらか選択という設定からきていると思いますが、対象商品以外を買ってもポイントがつかなくなるのはあり得ないと思います
2 対象のジャンルの商品が割引されない
何度もテストして期間も合っていますがだめなようです
2011年8月8日 1:22 AM #62358nanbuキーマスター調査してみますので少し時間を下さい。
よろしくお願いします。
2011年11月29日 7:20 AM #62359lb_chibi参加者nanbuさん
お疲れ様です。
本件、この部分でひっかかり、私なりに修正しました。
オフィシャルでもご確認いただき、アップデートいただけたら幸いです。
usceshop.class.php 5310行目付近
function get_order_point( $mem_id = '', $display_mode = '', $cart = array() ) {
if( $mem_id == '' || $this->options['membersystem_state'] == 'deactivate' || $this->options['membersystem_point'] == 'deactivate') return 0;
if ( empty($cart) )
$cart = $this->cart->get_cart();
if ( empty($display_mode) )
$display_mode = $this->options['display_mode'];
$point = 0;
$total = $this->get_total_price( $cart );
if ( $display_mode == 'Promotionsale' ) {
if ( $this->options['campaign_privilege'] == 'discount' ) {
foreach ( $cart as $rows ) {
$cats = $this->get_post_term_ids($rows['post_id'], 'category');
if ( !in_array($this->options['campaign_category'], $cats) ){
$rate = get_post_custom_values('_itemPointrate', $rows['post_id']);
$price = $rows['price'] * $rows['quantity'];
$point += $price * $rate[0] / 100;
}
}
} elseif ( $this->options['campaign_privilege'] == 'point' ) {
foreach ( $cart as $rows ) {
$rate = get_post_custom_values('_itemPointrate', $rows['post_id']);
//$price = $this->getItemPrice($rows['post_id'], $rows['sku']) * $rows['quantity'];
$price = $rows['price'] * $rows['quantity'];
$cats = $this->get_post_term_ids($rows['post_id'], 'category');
if ( in_array($this->options['campaign_category'], $cats) )
$point += $price * $rate[0] / 100 * $this->options['privilege_point'];
else
$point += $price * $rate[0] / 100;
}
}
} else {
foreach ( $cart as $rows ) {
$rate = get_post_custom_values('_itemPointrate', $rows['post_id']);
//$price = $this->getItemPrice($rows['post_id'], $rows['sku']) * $rows['quantity'];
$price = $rows['price'] * $rows['quantity'];
$point += $price * $rate[0] / 100;
}
}
return ceil($point);
}お忙しいところ恐縮ではございますが、何卒よろしくお願いします。
2011年11月30日 12:48 AM #62360nanbuキーマスターlb_chibi さん、ご指摘ありがとうございます。
こちらでも動作確認して、Developmet Version を更新いたしました。
よろしくお願いします。
-
投稿者投稿
- このトピックに返信するにはログインが必要です。