회원 등급별 다른 가격으로 표시 및 구매 채택완료
sir에 있는 몇몇 팁들을 보면서 작업을 해보고 있습니다.
관리자 페이지에 테이블 하나를 생성해서 아래와 같은 데이터를 입력해둔 상태입니다.

저기서 가져오는 회원등급은 $member['mb_level'] 값이구요.
그리고 각각의 % 값은 SQL로 가져오도록 되어있습니다.
이상황에서 수정해야할 부분들을 파보고 있는데 일단은
shop.lib.php 에 있는 get_price() 함수를 고쳐서 상품페이지에 있는 가격이 수정되도록 하였습니다.
</p>
<p>function get_price($it)</p>
<p>{</p>
<p> global $member;</p>
<p> global $pickup_fee;</p>
<p> global $check_fee;</p>
<p> </p>
<p> $sql = " select * from g5_level_ratio where grade='".$member['mb_level']."' ";</p>
<p> $row = sql_fetch($sql);</p>
<p> </p>
<p> if ($it['it_tel_inq']) return '전화문의';</p>
<p> $pickup_fee = $row['pickup_fee_percent'] * $it['it_price'];</p>
<p> $check_fee = $row['check_fee_percent'] * $it['it_price'];</p>
<p> </p>
<p> // 일반 회원일 경우 픽업비, 검품비 최소금액을 1000원으로 설정, 이외 등급은 200원으로 설정</p>
<p> if($member['mb_level'] == 2) {</p>
<p> if($pickup_fee < 1000) {</p>
<p> $pickup_fee = 1000;</p>
<p> }</p>
<p> if($pickup_fee < 1000){</p>
<p> $pickup_fee = 1000;</p>
<p> }</p>
<p> } else {</p>
<p> if($pickup_fee < 200) {</p>
<p> $pickup_fee = 200;</p>
<p> }</p>
<p> if($pickup_fee < 200){</p>
<p> $pickup_fee = 200;</p>
<p> }</p>
<p> }</p>
<p> </p>
<p> if ($it['ca_id'] == 30) { // 예치금 항목인 30 분류 카테고리일때에는 픽업비 검품비 사용하지 않음</p>
<p> $price = $it['it_price'];</p>
<p> } else {</p>
<p> $price = $it['it_price'] + $pickup_fee + $check_fee; // 그외 분류에서 계산된 픽업비 검품비 최종 금액</p>
<p> }</p>
<p> </p>
<p> return (int)$price;</p>
<p>}</p>
<p>
이렇게 하니 상품페이지에서 제대로 등급별 가격이 노출이 되더라구요. 그런데 여기서 문제가 생깁니다.
제가 확인해본 바로는 저 shop.lib.php 파일에서 get_price() 함수를 수정을 해도 이것은 표시만 되는 것이지 실제로 카트나 주문에 반영되는것이 안되기때문에 수정을 좀 해야하더군요.
제가 알아본 바로는 일단
cartupdate.php ( 구매 버튼 클릭시 주문한 상품이 g5_shop_cart 테이블에 저장되는 쿼리 )
orderform.sub.php ( 구매 버튼 클릭하고 주문서 페이지에서의 가격 반영 )
그리고 아직 이후 단계는 아니지만 최종적으로 주문하기 버튼을 눌렀을때, 작업되는 쿼리와 검증되는 쿼리도 있는것같더라구요.
이게 어짜피 SQL로 회원등급을 가져오고 해당되는 %들을 최종 금액에 추가만 해주는 작업이라 어려운게 아닌것같은데 은근 수정해야할 곳들이 많다보니, 그 부분들을 찾아내고 검증하는게 어려운것같습니다.
다행이라면 포인트 결제만 지원을 해서 (결제 금액은 미리 충전해놓는 개념) PG사 쪽 관련 코드들은 하나도 수정안하고 (무통장 + 포인트) 결제 방식으로만 되는 부분들을 수정하면 되는데 이방법이 맞게 진행하는것인지 잘 모르겠습니다.
영카트 팁게 보니 아예 처음부터 it_price1, it_price2 이런식으로 가격을 지정해주고 등급별로 가격을 치환하시는 방법도 있던데 가격이 변동될 여지 때문에 it_price 에 추가금 비율을 더해주는 방식으로 진행한거였거든요.
혹시 관련 작업을 해보신분들 중에서 어떤 부분을 수정해야하는지 알고계신분이 계신지요?
이 작업이 마무리되면 저도 팁게를 한번 작성해볼까합니다. 이 기능 원하시는분이 많은것같은데 상품 표시 쪽 코드이거나 (주문쪽으로는 수정이 안된) 너무 옛날 코드라 적용이 안되는 경우도 있는것같더라구요.
답변 1개
답변을 작성하려면 로그인이 필요합니다.
로그인