레벨별 가격 다르게 설정하기~(장바구니까지 테스트)
다른분들의 소스를 사용해보았는데 장바구니로 가는부분에 문제가 있어서 제가 사용한 방법으로 올려봅니다.
-> 일반회원(레벨2)과 레벨3회원(사업자) 가격을 다르게 지정해야하는 프로젝트입니다.
-> 영카트 여분필드 it_1번을 사용하였습니다.(알맞게 사용하세요.)
============================================
1. /adm/shop_admin/itemform.php 의 '판매가격' 밑에 다음과 같이 추가(알맞게 수정바람)
<tr>
<th scope="row"><label for="it_1">사업자 판매가격</label></th>
<td colspan="2">
<input type="text" name="it_1" value="<?php echo $it['it_1']; ?>" id="it_1" class="frm_input" size="8"> 원
</td>
</tr>
=============================================
2. /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 && $it['it_1'] > 0) {
$price = $it['it_1'];
}
return (int)$price;
}
-> 레벨3에만 적용하기위하여..
-> 여기까지하면 리스트에 출력은 잘된다. 하지만 장바구니 및 바로구매시 원래가격이 나옴..
=============================================
3. /shop/cartupdate.php
322번재줄쯤.. insert 데이터값이 들어가는 $sql 변수 바로위에 위에 구문 작성
if ($member['mb_level'] == 3 && $it['it_1'] > 0) {
$it['it_price'] = $it['it_1'];
}
(밑에는 원래 있던놈..)
$sql .= $comma."( '$tmp_cart_id', '{$member['mb_id']}', '{$it['it_id']}', '".addslashes($it['it_name'])."', '{$it['it_sc_type']}', '{$it['it_sc_method']}', '{$it['it_sc_price']}', '{$it['it_sc_minimum']}', '{$it['it_sc_qty']}', '쇼핑', '{$it['it_price']}', '$point', '0', '0', '$io_value', '$ct_qty', '{$it['it_notax']}', '$io_id', '$io_type', '$io_price', '".G5_TIME_YMDHIS."', '$REMOTE_ADDR', '$ct_send_cost', '$sw_direct', '$ct_select', '$ct_select_time' )";
$comma = ' , ';
$ct_count++;
=============================================
상품수정하려고 하는데 업데이트가 되지않아서 문제를 찾아보니 상품상세페이지 하단의 여분필드에 값으로 업데이트를 해버려서 수정이 되지 않았습니다.
혹시라도 저처럼 안되시는 분들은
itemform.php 파일 하단 '여분필드'를 출력해주시는부분에 (1640번째줄부분)
<?php for ($i=1; $i<=10; $i++) { ?>
$i 값을 하나 늘려서($i=2) 사용하시면 됩니다.
=============================================
/adm/shop_admin/itemform.php 의 하단부분에 여분필드를 제거 혹은 it_1을 사용하지 않도록 처리하셔야 됩니다.