멤버별로 적립되는 포인트를 다르게 하려고 하는데 장바구니로 들어가면 초기화됩니다

멤버별로 적립되는 포인트를 다르게 하려고 하는데 장바구니로 들어가면 초기화됩니다

QA

멤버별로 적립되는 포인트를 다르게 하려고 하는데 장바구니로 들어가면 초기화됩니다

답변 3

본문

우선 cartupdate.php에서 사용되는 get_item_point 함수를 멤버별로 다르게 적립되도록 수정해놓았습니다

 



// 상품포인트
function get_item_point($it, $io_id='', $trunc=10)
{
    global $g5;
    $it_point = 0;
    if($it['it_point_type'] > 0) {
        $it_price = $it['it_price'];
        if($it['it_point_type'] == 2 && $io_id) {
            $sql = " select io_id, io_price
                        from {$g5['g5_shop_item_option_table']}
                        where it_id = '{$it['it_id']}'
                          and io_id = '$io_id'
                          and io_type = '0'
                          and io_use = '1' ";
            $opt = sql_fetch($sql);
            if($opt['io_id'])
                $it_price += $opt['io_price'];
        }
        $it_point = floor(($it_price * ($it['it_point'] / 100) / $trunc)) * $trunc;
    } else {
                    if($member['mb_level']==2){
                    $it_point = ($it['it_price']*2/1000);
                    }
                    else if($member['mb_level']==3){
                        $it_point = ($it['it_price']*4/1000);
                    }
                    else if($member['mb_level']==4){
                        $it_point = ($it['it_price']*6/1000);
                    }
                    else if($member['mb_level']==5){
                        $it_point = ($it['it_price']*8/1000);
                    }
                    else if($member['mb_level']==6){
                        $it_point = ($it['it_price']*1/100);
                    }
                    else if($member['mb_level']==7){
                        $it_point = ($it['it_price']*1/100);
                    }
                    else if($member['mb_level']>=8){
                        $it_point = ($it['it_price']*2/100);
                    }
        
        //$it_point = $it['it_point'];
    }
    return $it_point;
}

 

이런식으로 관리자페이지에서 포인트가 설정금액이면 전체 가격에서 계산되어 포인트가 설정되도록 수정했습니다 

그런데 상품을 장바구니에 담을때는 g5_shop_cart의 ct_point에 잘 들어가는데 장바구니페이지로 들어가는 순간 초기화가 됩니다 $it['it_point']로 되는거 같은데 

cart.php에는 포인트를 업데이트해주는 update문이 보이지도 않고 ㅜㅜ어딜 수정해줘야할지 모르겠네요 ㅠㅠ 도와주세요 ㅠㅠ 

이 질문에 댓글 쓰기 :

답변 3

shop.lib.php에서 찾아보시면 있었던거 같아요

/shop/"cartupdate.php"

여기도

          // 포인트
            $point = 0;
            if($config['cf_use_point']) {
                if($io_type == 0) {
                    $point = get_item_point($it, $io_id);
                } else {
                    $point = $it['it_supply_point'];
                }

                if($point < 0)
                    $point = 0;
            }

포인트 관련 부분이 있으니 맞게 수정해 보세요.

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