[解決済み] 割引設定するとポイントがつかない

2011 年 7 月 9 日

ホーム フォーラム バグ報告 [解決済み] 割引設定するとポイントがつかない

このトピックには7件の返信が含まれ、3人の参加者がいます。5 年、 11 ヶ月前 nanbu さんが最後の更新を行いました。

8件の投稿を表示中 - 1 - 8件目 (全8件中)
  • 投稿者
    投稿
  • #50526

    NI
    参加者

    動作に関するご質問の場合は必ずご記入ください。


    Welcart のバージョン:1.0.4

    症状を確認したブラウザ:

    サーバー(会社名、サービス名):ライブドア

    SSLの利用:  専用SSL

    WordPress のパーマリンク設定:


    こんにちは

    割引セールを開始したのですが、ポイント制は普通のままです。

    普通割引した額にポイントが付くと思われますが、ポイントが0になっていてお客様のクレームでわかりました。

    設定は    全ジャンル15%引き

    会員ポイント 付与する

    ポイント   商品合計額のみに設定

    になっています。

    マニュアル見ても「割引するとポイント機能が効かなくなる」という説明がないのでバグではないでしょうか。

    普通は

    買い物額 − 割引額 − ポイント使用分 にたいしてもポイントがつくと思われますが・・・

    #62354

    nanbu
    参加者

    こんにちは。

    キャンペーン中はポイント付与か割り引きかのどちらかとなっております。そのためのラジオボタンですが、説明が不足しておりました。マニュアルを修正したいと思います。

    https://www.welcart.com/documents/manual-2/%E5%9F%BA%E6%9C%AC%E8%A8%AD%E5%AE%9A

    #62355

    NI
    参加者

    こんにちは

    キャンペーンが「割引」か「ポイント」の二者択一ということはラジオボタンなのでわかるのですが、ということは、割引中は通常設定のポイントもつかなくなるという理解でよろしいのでしょうか。

    #62356

    nanbu
    参加者

    はい、その通りです。

    #62357

    NI
    参加者

    こちらですが・・・

    おそらくバグなのか仕様的に矛盾があるかは不明ですが・・・すべてのジャンルの商品にキャンペーンを適応された場合はきちんと機能しますが、一部のジャンルの商品のみに割引設定のキャンペーンを行うと矛盾が発生します。

    1 対象外の商品を購入してもポイントが付かない

    ※これはやはり、ポイントと割引のどちらか選択という設定からきていると思いますが、対象商品以外を買ってもポイントがつかなくなるのはあり得ないと思います

    2 対象のジャンルの商品が割引されない

    何度もテストして期間も合っていますがだめなようです

    #62358

    nanbu
    参加者

    調査してみますので少し時間を下さい。

    よろしくお願いします。

    #62359

    lb_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);
    }

    お忙しいところ恐縮ではございますが、何卒よろしくお願いします。

    #62360

    nanbu
    参加者

    lb_chibi さん、ご指摘ありがとうございます。

    こちらでも動作確認して、Developmet Version を更新いたしました。

    よろしくお願いします。

8件の投稿を表示中 - 1 - 8件目 (全8件中)

このトピックに返信するにはログインが必要です。