레벨별 가격 다르게 설정하기~(장바구니까지 테스트) 정보
레벨별 가격 다르게 설정하기~(장바구니까지 테스트)본문
다른분들의 소스를 사용해보았는데 장바구니로 가는부분에 문제가 있어서 제가 사용한 방법으로 올려봅니다.
-> 일반회원(레벨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++;
=============================================
(8월 21일 추가내용)
- 누락된 부분을 착한용이님께서 알려주셔서 추가합니다.
/adm/shop_admin/itemform.php 의 하단부분에 여분필드를 제거 혹은 it_1을 사용하지 않도록 처리하셔야 됩니다.
=============================================
일단 테스트해봤는데 잘된다..무슨문제가 발생될지는 모름.
-> 일반회원(레벨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++;
=============================================
(8월 21일 추가내용)
- 누락된 부분을 착한용이님께서 알려주셔서 추가합니다.
/adm/shop_admin/itemform.php 의 하단부분에 여분필드를 제거 혹은 it_1을 사용하지 않도록 처리하셔야 됩니다.
=============================================
일단 테스트해봤는데 잘된다..무슨문제가 발생될지는 모름.
추천
4
4
댓글 3개
좋은정보 감사합니다
좋은팁 감사합니다.
그런데 저는 상품수정하려고 하는데 업데이트가 되지않아서 문제를 찾아보니 상품상세페이지 하단의 여분필드에 값으로 업데이트를 해버려서 수정이 되지 않았습니다.
혹시라도 저처럼 안되시는 분들은
itemform.php 파일 하단 '여분필드'를 출력해주시는부분에 (1640번째줄부분)
<?php for ($i=1; $i<=10; $i++) { ?>
$i 값을 하나 늘려서($i=2) 사용하시면 됩니다.
그런데 저는 상품수정하려고 하는데 업데이트가 되지않아서 문제를 찾아보니 상품상세페이지 하단의 여분필드에 값으로 업데이트를 해버려서 수정이 되지 않았습니다.
혹시라도 저처럼 안되시는 분들은
itemform.php 파일 하단 '여분필드'를 출력해주시는부분에 (1640번째줄부분)
<?php for ($i=1; $i<=10; $i++) { ?>
$i 값을 하나 늘려서($i=2) 사용하시면 됩니다.
앗..제가 그부분은 설명안해놨네요! 수정하겠습니다.
피드백감사드려요^^
피드백감사드려요^^