옵션 상품 가격 할인 오류 문의
본문
옵션상품 구매시 우수회원에게 할인을 해주고 싶어서 아래와 같이 적용시켰습니다.
적용후 아무런 변화가 없는데요. 고수님들 도와주세요 ㅠㅠ;.
/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
PHP랑 Javascript를 혼용하셨네요.
$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;
<? } ?>
});
이렇게 해보세요.
!-->if ($member[mb_level] >= 5 ) { php 구문을 자바문에 넣으시면 않됩니다.
$member[mb_level] 는 php 배열이므로 자바 함수 호출시에 별도로 선언되어야 합니다.
해당 소스는 else 이하 구문만 실행하게 되네요.
어찌해서 가격은 변경된 가격으로 보이게 되겠지만
나머지 상품가격 비교 및 검증하는 부분을 전부 수정하지 않으면
결제금액 불일치로 주문이 되지 않을거에요.
유동성있는 가격으로 주문을 시키려면
생각보다 수정해야될 부분이 많습니다.
/js/shop.override.js 에 있는 스크립트를 카피에서 페이지로 가지고와서 아래처럼 사용해보시면 좋을꺼 같네요 즉 mb_level을 잘못코딩하신 부분이니 그리고 el_prc값을 el_prc2 로 변경해서
el_prc2 값으로 대처해서 사용해보시면 될꺼 같네요
$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;
}
});