영카트 옵션상품 장바구니 개별 등록

영카트 옵션상품 장바구니 개별 등록

QA

영카트 옵션상품 장바구니 개별 등록

답변 3

본문

옵션 상품일 때 동일한 상품을 장바구니에 담고, 다른 옵션으로 동일한 상품을 또 담았을 때,

각각 담길 수 있는 방법이 없을까요? 

 

상품1 - 양면 인쇄, 검정

상품1 - 단면 인쇄, 투명

 

현재는 이전에 담아둔 상품이 사라지고 새로 담은 상품만 장바구니에 들어갑니다..

그렇다고 수량이 추가되지도 않아요

 

shop/cartupdate.php

shop/ajax.action.php

내에서 아래 코드를 삭제해봐도 똑같습니다 

 

// 동일옵션의 상품이 있으면 수량 더함

            $sql2 = " select ct_id, io_type, ct_qty

                        from {$g5['g5_shop_cart_table']}

                        where od_id = '$tmp_cart_id'

                          and it_id = '$it_id'

                          and io_id = '$io_id'

                          and ct_status = '쇼핑' ";

            $row2 = sql_fetch($sql2);

            if(isset($row2['ct_id']) && $row2['ct_id']) {

                // 재고체크

                $tmp_ct_qty = $row2['ct_qty'];

                if(!$io_id)

                    $tmp_it_stock_qty = get_it_stock_qty($it_id);

                else

                    $tmp_it_stock_qty = get_option_stock_qty($it_id, $io_id, $row2['io_type']);

 

                if ($tmp_ct_qty + $ct_qty > $tmp_it_stock_qty)

                {

                    alert($io_value." 의 재고수량이 부족합니다.\\n\\n현재 재고수량 : " . number_format($tmp_it_stock_qty) . " 개");

                }

 

                $sql3 = " update {$g5['g5_shop_cart_table']}

                            set ct_qty = ct_qty + '$ct_qty'

                            where ct_id = '{$row2['ct_id']}' ";

                sql_query($sql3);

                continue;

            }

이 질문에 댓글 쓰기 :

답변 3

// 옵션수정일 때 기존 장바구니 자료를 먼저 삭제
        if($act == 'optionmod')
            sql_query(" delete from {$g5['g5_shop_cart_table']} where od_id = '$tmp_cart_id' and it_id = '$it_id' ");
이 부분에서 기존 장바구니가 삭제 되는것 같은데 이부분을 확인해보셔야 할것 같습니다.

... 상품을 장바구니에 담고, 다른 옵션으로 동일한 상품을 또 담았을 때,

 ...이전에 담아둔 상품이 사라지고 새로 담은 상품만 장바구니에 들어갑니다..

==

이렇게 한 이유가 있지 않을까요?

/shop/cartupdate.php: 180 부근
        // 바로구매에 있던 장바구니 자료를 지운다.
        if($i == 0 && $sw_direct)
            sql_query(" delete from {$g5['g5_shop_cart_table']} where od_id = '$tmp_cart_id' and ct_direct = 1 ", false);

여기인데...
걱정스러운 것은
옵션이 다른 상품이 두 개가 존재하게 되는 경우 영카트가 이걸 제대로 처리 못 할 거 같군요.

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 17,118
© SIRSOFT
현재 페이지 제일 처음으로