영카트 회원 레벨별 가격 설정 (일정비율할인) 기능을 구현중입니다.
본문
회원레벨 3 = 사업자 회원 10% 할인
회원레벨 4 = 우수 사업자 15% 할인
이렇게 적용하려고 다른 분들의 게시판 내용을 읽고서 수정중입니다.
1. /lib/shop.lib.php
function get_price($it) {
global $member;
if ($it['it_tel_inq']) return '전화문의';
$price = $it['it_price'];
if ( $member['mb_level'] == 3 ) {
$price = floor( (int)( $price * 0.9 ) / 10 ) * 10;
}
if ( $member['mb_level'] == 4 ) {
$price = floor( (int)( $price * 0.85 ) / 10 ) * 10;
}
return (int)$price;
}
이 부분만 수정하면 될까요 ?
다른 부분 수정 또는 주의해야할 부분이 있는지 궁금합니다.
답변 2
member의 레벨이 2,3,4 까지만 존재하나요?
이후에 존재하게될 5,6,7,8등의 레벨이 등장하게되면
혹은 요율을 변경해야 하면
처리가 곤란해지실것같습니다.
차라리
임의의 테이블혹은 2차원배열 을 하나 만들어서
레벨에 해당되는 , 레벨별 요율값을 저장해두고
함수를 실행시 레벨의 값과 요율을 읽어서
계산식에 변수로 매핑을 시키는게 좋을듯 합니다.
해당에서만 가격을 가지고 오는건 아니라서 cartupdate.php 에서 가격 구하는 부분 주문 및 장바구니 페이지에서 가격 다시 체크하는게 있는데 해당 함수에서도 해주셔야 할거 같습니다. 다른 부분도 있을수 있고요.