초 간단 영카드 회원등급별 금액 적용. 정보
초 간단 영카드 회원등급별 금액 적용.본문
/extend/user.extend.php (추가)
<?php
// 회원 등급별 할인율
$def_member_grade_array = array(
"정회원"=>1
, "준단골"=>0.97
, "단골1"=>0.95
, "단골2"=>0.92
, "단골3"=>0.9
, "왕단골"=>0.88
, "평생가족"=>0.85
);
$def_member_grade_default = '정회원';
if($is_member && !defined("G5_IS_ADMIN"))
define("G5_SHOP_DSICOUNT_RATE", $def_member_grade_array[$member['mb_grade']]);
?>
/lib/shop.lib.php (수정)
<?php
// 금액표시
// $it : 상품 배열
function get_price($it)
{
global $member;
if ($it['it_tel_inq']) return '전화문의';
if(defined("G5_SHOP_DSICOUNT_RATE")){
$price = round($it['it_price'] * G5_SHOP_DSICOUNT_RATE);
}else{
$price = $it['it_price'];
}
return (int)$price;
}
?>
/shop/cartupdate.php (수정)
<?php
// 옵션정보를 얻어서 배열에 저장
$opt_list = array();
$sql = " select * from {$g5['g5_shop_item_option_table']} where it_id = '$it_id' order by io_no asc ";
$result = sql_query($sql);
$lst_count = 0;
for($k=0; $row=sql_fetch_array($result); $k++) {
if(defined("G5_SHOP_DSICOUNT_RATE"))
$row['io_price'] = round($row['io_price'] * G5_SHOP_DSICOUNT_RATE);
$opt_list[$row['io_type']][$row['io_id']]['id'] = $row['io_id'];
$opt_list[$row['io_type']][$row['io_id']]['use'] = $row['io_use'];
$opt_list[$row['io_type']][$row['io_id']]['price'] = $row['io_price'];
$opt_list[$row['io_type']][$row['io_id']]['stock'] = $row['io_stock_qty'];
// 선택옵션 개수
if(!$row['io_type'])
$lst_count++;
}
?>
g5_member 테이블에서
mb_grade 값만 넣어서 이용하시면 됩니다.
나머지는 해당 페이지에서 G5_SHOP_DSICOUNT_RATE 구문이 들어간 부분만 추가 하시면됩니다.
<?php
// 회원 등급별 할인율
$def_member_grade_array = array(
"정회원"=>1
, "준단골"=>0.97
, "단골1"=>0.95
, "단골2"=>0.92
, "단골3"=>0.9
, "왕단골"=>0.88
, "평생가족"=>0.85
);
$def_member_grade_default = '정회원';
if($is_member && !defined("G5_IS_ADMIN"))
define("G5_SHOP_DSICOUNT_RATE", $def_member_grade_array[$member['mb_grade']]);
?>
/lib/shop.lib.php (수정)
<?php
// 금액표시
// $it : 상품 배열
function get_price($it)
{
global $member;
if ($it['it_tel_inq']) return '전화문의';
if(defined("G5_SHOP_DSICOUNT_RATE")){
$price = round($it['it_price'] * G5_SHOP_DSICOUNT_RATE);
}else{
$price = $it['it_price'];
}
return (int)$price;
}
?>
/shop/cartupdate.php (수정)
<?php
// 옵션정보를 얻어서 배열에 저장
$opt_list = array();
$sql = " select * from {$g5['g5_shop_item_option_table']} where it_id = '$it_id' order by io_no asc ";
$result = sql_query($sql);
$lst_count = 0;
for($k=0; $row=sql_fetch_array($result); $k++) {
if(defined("G5_SHOP_DSICOUNT_RATE"))
$row['io_price'] = round($row['io_price'] * G5_SHOP_DSICOUNT_RATE);
$opt_list[$row['io_type']][$row['io_id']]['id'] = $row['io_id'];
$opt_list[$row['io_type']][$row['io_id']]['use'] = $row['io_use'];
$opt_list[$row['io_type']][$row['io_id']]['price'] = $row['io_price'];
$opt_list[$row['io_type']][$row['io_id']]['stock'] = $row['io_stock_qty'];
// 선택옵션 개수
if(!$row['io_type'])
$lst_count++;
}
?>
g5_member 테이블에서
mb_grade 값만 넣어서 이용하시면 됩니다.
나머지는 해당 페이지에서 G5_SHOP_DSICOUNT_RATE 구문이 들어간 부분만 추가 하시면됩니다.
추천
4
4
댓글 12개
좋은데요....^^
감사합니다. 나중에 적용할때 참고하겠습니다. (영카트는 구조파악이 아직 안되서 ㅋㅋ)
와우 감사합니다.
주문할때 금액이 등급별로 적용이 안되는데 G5_SHOP_DSICOUNT_RATE 가 주문폼에선 extend을 실행 안하나바요..?
/shop/cartupdate.php 에서 이미 등급별 가격을 DB 입력하고 주문폼에서는 DB의 가격을 가져오기 때문에 주문폼 페이지는 수정하실 필요가 없습니다.
죄송합니다. 초보인데요.. 따라는 해봤는ㄷ. 마지막에 g5_member 이 테이블에 mb_grade 필드가 없는데 새로 생성하라는 말인가요???
네
등급별 금액적용
찾던 기능 감사합니다.
좋은 팁 감사드립니다.
등급별로 할인율을 적용해고 싶었는데 너무 딱맞는 팁을 알려주셔서 감사합니다.
한가지 궁금한건 할인율을 적용하기 위해서
user.extend.php에 정의된 내용을 회원테이블의 mb_grade 필드에 정회원, 단골 이런식으로 정해주면 되는건지요?
등급별로 할인율을 적용해고 싶었는데 너무 딱맞는 팁을 알려주셔서 감사합니다.
한가지 궁금한건 할인율을 적용하기 위해서
user.extend.php에 정의된 내용을 회원테이블의 mb_grade 필드에 정회원, 단골 이런식으로 정해주면 되는건지요?
안녕하세요!
시도해보았는데 주문폼과 장바구니는 할인율이 적용이 안되는 것으로 확인됩니다!
혹시 어떻게 추가 작업을 해야할까요?
@Salty 7년전 자료입니다.
지금은 코드가 많이 수정되어서 적용이 안될 수 있습니다.