영카트 선택옵션을 선택후 장바구니에 담아지지않습니다;; 채택완료
선택옵션이 없는 상품은 장바구니로 잘가지는데 선택옵션을 생성하고 선택하면 장바구니에 담아지지 않습니다..
lib/shop.lib.php 부분을 수정하였습니다.
// 옵션선택목록 만들기
for($i=0; $i<$subj_count; $i++) {
$opt = $options[$i];
$opt_count = count($opt);
$disabled = '';
if($opt_count) {
$seq = $i + 1;
if($i > 0)
$disabled = ' disabled="disabled"';
$str .= ' $select = ' $select .= ''.PHP_EOL; for($k=0; $k<$opt_count; $k++) { $opt_val = $opt[$k]; if(strlen($opt_val)) { $select .= ''.PHP_EOL; } } $select .= ''.PHP_EOL; $select.PHP_EOL; $str .= '
}
}
} else {
$str .= ' $select = ' $select .= ''.PHP_EOL; for($i=0; $row=sql_fetch_array($result); $i++) { if($row['io_price'] > 0) $price = ' + '.number_format($row['io_price']).'원'; else if ($row['io_price'] == 0) $price = ''; else $price = ' '.number_format($row['io_price']).'원'; if($row['io_stock_qty'] < 1) $soldout = ' [품절]'; else $soldout = ''; $select .= ''.PHP_EOL; } $select .= ''.PHP_EOL; $str .= ' $str .= ''.$select.' '.PHP_EOL;
}
- item.form.skin.php 코드 부분입니다.
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
//add_stylesheet('', 0);
?>
$big_img_count = 0;
$thumbnails = array();
$img = get_it_thumbnail_no($it['it_img3'], 571, 571);
if($img) {
// 썸네일
...
?>
won won
상품의 재고가 부족하여 구매할 수 없습니다.
if ($prev_href) { echo ''.$prev_href.'pre'.$prev_href2.''; }else{ echo 'pre'; } ?> if ($next_href) { echo ''.$next_href.'next'.$next_href2.''; }else{ echo 'next'; } ?>
$(function(){
// 상품이미지 첫번째 링크
$("#sit_pvi_big a:first").addClass("visible");
// 상품이미지 미리보기 (썸네일에 마우스 오버시)
...
// 상품이미지 크게보기
...
// 장바구니 답기
$("#add_cart_btn").bind("click", function(event){
event.preventDefault();
var frm = document.getElementById("fitem");
document.pressed = "장바구니";
if(fitem_submit(frm)){
frm.submit();
}
});
// 수량증가
$("#item_add_btn").bind("click", function(event){
event.preventDefault();
var this_qty, max_qty = 9999, min_qty = 1;
var $el_qty = $("#item_info_area").find("input[name^=ct_qty]");
var stock = parseInt($("#item_info_area").find("input.io_stock").val());
this_qty = parseInt($el_qty.val().replace(/[^0-9]/, "")) + 1;
if(this_qty > stock) {
alert("재고수량 보다 많은 수량을 구매할 수 없습니다.");
this_qty = stock;
}
if(this_qty > max_qty) {
this_qty = max_qty;
alert("최대 구매수량은 "+number_format(String(max_qty))+" 입니다.");
}
$el_qty.val(this_qty);
});
// 수량감소
$("#item_minus_btn").bind("click", function(event){
event.preventDefault();
var this_qty, max_qty = 9999, min_qty = 1;
var $el_qty = $("#item_info_area").find("input[name^=ct_qty]");
var stock = parseInt($("#item_info_area").find("input.io_stock").val());
this_qty = parseInt($el_qty.val().replace(/[^0-9]/, "")) - 1;
if(this_qty < min_qty) {
this_qty = min_qty;
alert("최소 구매수량은 "+number_format(String(min_qty))+" 입니다.");
}
$el_qty.val(this_qty);
});
});
// 바로구매, 장바구니 폼 전송
function fitem_submit(f)
{
if (document.pressed == "장바구니") {
f.sw_direct.value = 0;
} else { // 바로구매
f.sw_direct.value = 1;
}
// 판매가격이 0 보다 작다면
if (document.getElementById("it_price").value < 0) {
alert("전화로 문의해 주시면 감사하겠습니다.");
return false;
}
var val, io_type, result = true;
var sum_qty = 0;
var min_qty = parseInt();
var max_qty = parseInt();
var $el_type = $("input[name^=io_type]");
$("input[name^=ct_qty]").each(function(index) {
val = $(this).val();
if(val.length < 1) {
alert("수량을 입력해 주십시오.");
result = false;
return false;
}
if(val.replace(/[0-9]/g, "").length > 0) {
alert("수량은 숫자로 입력해 주십시오.");
result = false;
return false;
}
if(parseInt(val.replace(/[^0-9]/g, "")) < 1) {
alert("수량은 1이상 입력해 주십시오.");
result = false;
return false;
}
io_type = $el_type.eq(index).val();
if(io_type == "0")
sum_qty += parseInt(val);
});
if(!result) {
return false;
}
if(min_qty > 0 && sum_qty < min_qty) {
alert("선택옵션 개수 총합 "+number_format(String(min_qty))+"개 이상 주문해 주십시오.");
return false;
}
if(max_qty > 0 && sum_qty > max_qty) {
alert("선택옵션 개수 총합 "+number_format(String(max_qty))+"개 이하로 주문해 주십시오.");
return false;
}
return true;
}
답변 1개
답변을 작성하려면 로그인이 필요합니다.
로그인
