총금액 부분이 이상합니다

총금액 부분이 이상합니다

QA

총금액 부분이 이상합니다

본문

총금액 계산하는부분이 

shop.js 432라인의 price_calculate() 부분 과 shop.override.js  130라인부분이네요

 

상품가격 100원
옵션 1가격 10원
옵션2 가격 20원일때

 

옵션을 선택 할때 마다  shop.override.js 의 130라인 부분이 불러집니다


                if( $(".2017_renewal_itemform").length ){
                    var it_price = $("input#it_price").val() * 1;
                    if(isNaN(it_price))
                        return;
                    var $el_prc = $("input.io_price");
                    var $el_qty = $("input[name^=ct_qty]");
                    var $el_type = $("input[name^=io_type]");
                    var price, type, qty, total = 0;
                    $el_prc.each(function(index) {
                        price = $(this).val() * 1;
                        qty   = $el_qty.eq(index).val() * 1;
                        type  = $el_type.eq(index).val();
                        if(type == "0") { // 선택옵션
                            total += (it_price + price) * qty; //이부분욤<<<<
                        } else { // 추가옵션
                            total += price * qty;
                        }
                    });
                    
                    $("#sit_tot_price").empty().html("<span>Total Amount </span><strong>$" + total.toFixed(2) +"</strong>");
                    //$("#sit_tot_price").empty().html("<span>Total Amount </span><strong>$"+number_format(String(total))+"</strong>");
                } else {
                    cached_function.apply(this, arguments); // use .apply() to call it
                }
 

$el_prc.each(function(index) 이부분에서 옵션이 선택된 만큼 루프돌면서
총급액을 계산하는데....뭔가 이상합니다

1. 100원상품에 10원옵션 선택 하면 110원 맞게 나옵니다
2. 100원 상품에 10원 선택후 20원 선택하면 130원 이 아니라 금액이 배로 뻥튀기됩니다

total += (it_price + price) <<이부분욤 아이템가격이 계속 더해짐...
보면 루프돌면서 아이템가격과 옵션가격을 더해줍니다....

해서 total += price * qty; 옵션과 수량만 total에더해두고

루프밖에서 total +=it_price해주면 맞게는 나옵니다

뭔가 미심쩍네요 ㅠㅠ

 

질문내용

1. 다른곳에 잘쓰는 영카트가 하루이틀 된거도 아니구 이런적이 없었데 옵션을 잘못준걸까요?
   옵션1  MODEL 옵션항목 M2020,M3020,M3020-S180,M5020-K,M5020-S180,M5040-K

3. sho.js 의 price_calculate()함수는 언제 콜되나요?

 

부탁드림니다

 

이 질문에 댓글 쓰기 :

답변 1

질문 내용에서 이해가 안되는 내용이 있습니다.

 

1. 100원상품에 10원옵션 선택 하면 110원 맞게 나옵니다
2. 100원 상품에 10원 선택후 20원 선택하면 130원 이 아니라 금액이 배로 뻥튀기됩니다

 

2번을 실행할 경우에 

 

110 + 120 = 230

 

230 원이 되어야 맞습니다.

방금 다른 영카트도 확인해보니 말씀대로 230원이 나옵니다
소스의문제가 아니라 운영방안의 문제인듯 합니다

제가 원한건 상품값 100 + 옵션1 10원 + 옵션2 20 = 130원을 원한건데...
영카트는 (상품값 100+ 옵션1 10) + (상품값 100+옵션2 20원) = 230원을 주네요

선택옵션말고 추가옵션으로 셋팅해야할듯 합니다
테스트하고 댓글달겠습니다

테스트 결과 선택옵션과 추가옵션의 활용에 따라 원하는결과가 나옵니다...
선택옵션 (상품가 +옵션1) +(상품가 +옵션2) +(상품가 +옵션3)~~~
추가옵션 상품가 +옵션 1 +옵션2 +옵션3~~~

결론은 저의 무지였습니다 감사합니다

답변을 작성하시기 전에 로그인 해주세요.
전체 1

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT