테스트 사이트 - 개발 중인 베타 버전입니다

영카트 회원 레벨별 가격 설정 (일정비율할인) 기능을 구현중입니다. 채택완료

시니어월천 3년 전 조회 1,981

회원레벨 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개

채택된 답변
+20 포인트
플래토
3년 전

member의 레벨이 2,3,4 까지만 존재하나요?

이후에 존재하게될 5,6,7,8등의 레벨이 등장하게되면

혹은 요율을 변경해야 하면

 

처리가 곤란해지실것같습니다.

 

차라리

임의의 테이블혹은 2차원배열 을 하나 만들어서

레벨에 해당되는  , 레벨별 요율값을 저장해두고

함수를 실행시 레벨의 값과 요율을 읽어서 

계산식에 변수로 매핑을 시키는게 좋을듯 합니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

시니어월천
3년 전
좋은 아이디어 감사합니다.
참고에 많은 도움이 되었습니다.
그런데 /lib/shop.lib.php get_price 함수 이 부분만 고려하면 될까요
플래토
3년 전
함수를 별도로 만들어서 적용하게 한후
금액/요율이 사용되는 영역에 get_price와 같은 함수내부 혹은 대치해서 사용하시면 될것으로 생각됩니다.

댓글을 작성하려면 로그인이 필요합니다.

3년 전

해당에서만 가격을 가지고 오는건 아니라서 cartupdate.php 에서 가격 구하는 부분 주문 및 장바구니 페이지에서 가격 다시 체크하는게 있는데 해당 함수에서도 해주셔야 할거 같습니다. 다른 부분도 있을수 있고요.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

시니어월천
3년 전
cartupdate.php 에서도 get_price 함수를 /lib/shop.lib.php 에서 가지고오는것 아닌가요 ?

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인