멤버별로 적립되는 포인트를 다르게 하려고 하는데 장바구니로 들어가면 초기화됩니다
본문
우선 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;
}
포인트 관련 부분이 있으니 맞게 수정해 보세요.
혹시 shop.lib.php에서 어떻게 수정하셨는지 공유해주실 수 있으실까용..?!
너무 어렵네요,,,ㅠㅠㅠㅠ