옵션 상품 가격 할인 오류 문의

2022-01-24 (월) 11:54:21 3,904

옵션상품 구매시 우수회원에게 할인을 해주고 싶어서 아래와 같이 적용시켰습니다.

적용후 아무런 변화가 없는데요. 고수님들 도와주세요 ㅠㅠ;.

/js/shop.override.js

-----------------------------------------------------

                    $el_prc.each(function(index) {
                        price = parseInt($(this).val());
                        qty = parseInt($el_qty.eq(index).val());
                        type = $el_type.eq(index).val();

                        if(type == "0") { // 선택옵션
                            if ($member[mb_level] >= 5 ) {
                            total += (( it_price + price ) * qty) - 2000;
                            } else {

                            total += ( it_price + price ) * qty;
                            }
                        } else { // 추가옵션
                            if ($member[mb_level] >= 5 ) {
                            total = ( price * qty ) - 2000 ;
                            } else {

                            total = price * qty;

                            }
                    });

|

답변 5개 / 댓글 1개

/js/shop.override.js 에 있는 스크립트를 카피에서 페이지로 가지고와서 아래처럼 사용해보시면 좋을꺼 같네요 즉 mb_level을 잘못코딩하신 부분이니 그리고 el_prc값을 el_prc2 로 변경해서 

el_prc2 값으로 대처해서 사용해보시면 될꺼 같네요

[CODE]

                    $el_prc2.each(function(index) {
                        price = parseInt($(this).val());
                        qty = parseInt($el_qty.eq(index).val());
                        type = $el_type.eq(index).val();

                        mb_level = <?=$member[mb_level]?>;

                        if(type == "0") { // 선택옵션
                            if (mb_level >= 5 ) {
                            total += (( it_price + price ) * qty) - 2000;
                            } else {
                            total += ( it_price + price ) * qty;
                            }
                        } else { // 추가옵션
                            if (mb_level >= 5 ) {
                            total = ( price * qty ) - 2000 ;
                            } else {
                            total = price * qty;

                            }
                    });

[/CODE]

어찌해서 가격은 변경된 가격으로 보이게 되겠지만

나머지 상품가격 비교 및 검증하는 부분을 전부 수정하지 않으면

결제금액 불일치로 주문이 되지 않을거에요.

유동성있는 가격으로 주문을 시키려면

생각보다 수정해야될 부분이 많습니다.

2022-01-24 (월) 11:58:53

if ($member[mb_level] >= 5 ) { php 구문을 자바문에 넣으시면 않됩니다.

$member[mb_level] 는 php 배열이므로 자바 함수 호출시에 별도로 선언되어야 합니다.

해당 소스는 else 이하 구문만 실행하게 되네요.

답변에 대한 댓글 1개

2022-01-24 (월) 12:11:28
아! 자바에 php 명령어로 명령을 내려서 그런거네요.
그럼 회원 정보 테이블의 $member[mb_level]를 자바에서 호출하려면 어떻게 해야하나요?
2022-01-24 (월) 11:58:09

PHP랑 Javascript를 혼용하셨네요.

Copy
$el_prc.each(function(index) {
                        price = parseInt($(this).val());
                        qty = parseInt($el_qty.eq(index).val());
                        type = $el_type.eq(index).val();

                        if(type == "0") { // 선택옵션
                            <? if ($member[mb_level] >= 5 ) { ?>
                            total += (( it_price + price ) * qty) - 2000;
                            <? } else { ?>
                            total += ( it_price + price ) * qty;
                            <? } ?>
                        } else { // 추가옵션
                            <? if ($member[mb_level] >= 5 ) { ?>
                            total = ( price * qty ) - 2000 ;
                            <? } else { ?>
                            total = price * qty;

                            <? } ?>
                    });

이렇게 해보세요.

답변을 작성하려면 로그인이 필요합니다.