商品の小計額計算で購入制限が効かない

引き続き2.11.1のカスタマイズ作業をしていて気づいた点です。
管理画面で購入制限を設定した商品をカゴに入れて数量を追加する際に、商品の小計額だけが購入制限を無視した計算値になります。

購入制限が無視された小計額計算
ただしカゴのブロックを表示させるとこの問題は発生しないようです。

カゴブロック設置で問題回避

ロジックを直す手間を考えると・・カゴブロック表示で回避した方が良いかも。(・・と思いながら直しました)

ソース載せ忘れてましたので追記(07/01)

            /*
             * 商品購入制限数, 在庫数のチェック
             */
            $limit = $objProduct->getBuyLimit($product);
            if (!is_null($limit) && $item['quantity'] > $limit) {
                if ($limit > 0) {

                    // 小計額も再計算
                    $incTax = SC_Helper_DB_Ex::sfCalcIncTax($item['price']);
                    $total = $incTax * $limit;
                    $item['total_inctax'] = $total;

                    $this->setProductValue($item['id'], 'quantity', $limit, $productTypeId);
                    $tpl_message .= "※「" . $product['name'] . "」は販売制限(または在庫が不足)しております。一度に数量{$limit}以上の購入はできません。\n";
                } else {
                    $this->delProduct($item['cart_no'], $productTypeId);
                    $tpl_message .= "※「" . $product['name'] . "」は売り切れました。\n";
                    continue;
                }
            }
カテゴリー: EC-CUBE   タグ:   この投稿のパーマリンク

コメントは受け付けていません。