회원 가격과 비회원 가격을 다르게 하려고 합니다.

회원 가격과 비회원 가격을 다르게 하려고 합니다.

QA

회원 가격과 비회원 가격을 다르게 하려고 합니다.

본문

회원 가격과 비회원 가격을 다르게 하려고 합니다.

그래서 다른 글을 찾아보고 수정하고있는데,.

계속 같은 오류가 떠서 질문드립니다.

adm/shop_admin_itemform.php 파일에

 

<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>

을 추가하고

여분필드쪽 <?php for ($i=2; $i<=10; $i++) { ?> 이렇게 수정하고

 

 

lib/shop.lib.php 에서

 

function get_price($it)
{
    global $member;

    if ($it['it_tel_inq']) return '전화문의';

    $price = $it['it_price'];

if ($member['mb_level'] >= 2 && $it['it_1'] > 0) {
        $price = $it['it_1'];
    }

    return (int)$price;
}

수정한후

 

shop/cartupdate.php 파일에

if ($member['mb_level'] >= 2 && $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++;

 

추가를 했는데

계속

1030405206_1617349940.8784.png

이게 떠서 막막합니다.

비회원은 또 잘되더군요ㅠㅠ

테마 때문에 그런가 싶어서

theme/shop/ajax.cartupdate.php 도 같이 수정을 했는데도 같은 현상이 반복됩니다.

어떻게 해결해야 할까요ㅠㅠ

이 질문에 댓글 쓰기 :

답변 2

lib/shop.lib.php에 있는 get_price()를 변경하셨다면

shop/cartupdate.php 에서

        // 상품정보
        $sql = " select * from {$g5['g5_shop_item_table']} where it_id = '$it_id' ";
        $it = sql_fetch($sql);

이 다음에

        $tmp_p= get_price( $it);
        if( (int)$tmp_p > 0) $it['it_price']= $tmp_p;

를 추가해 보세요.

버전이 바뀌면서 코드가 변경되었군요.
        // 상품정보
        $it = get_shop_item($it_id, false);
        if(!$it['it_id'])
            alert('상품정보가 존재하지 않습니다.');

shop/cartupdate.php 에

$it = get_shop_item($it_id, false);
        if(!$it['it_id'])
            alert('상품정보가 존재하지 않습니다.');
        $tmp_p= get_price( $it);
        if( (int)$tmp_p > 0) $it['it_price']= $tmp_p;

이렇게추가해도 같은현상이 나타나네요ㅠㅠ

예전 영카트에 적용했던 내용인데
최근 버전에서는 안 되나 보군요.
cartupdate.php에서 가격 관한 코드를 다 살펴 봐야합니다.

/lib/shop.lib.php"

// 장바구니 금액 체크 $is_price_update 가 true 이면 장바구니 가격 업데이트한다.
function before_check_cart_price()에서

        $it_id = $row['it_id'];
        $it = get_shop_item($it_id, $is_item_cache);
이 다음에도 it_price를 변경하는 부분을 추가해 보세요.

위의 방법으로 진입보다는 

adm 컨피그 설정에 상품목록 수정목록 폼쪽에 별도의 엘리멘트를 만들어 

회원일 경우와 아닐경우의 값을 지정해서 저장할수 있게 처리하시고

해당 부분을 sql로 처리해주시면 될것같습니다.

로그인 메소드를 활용하시면 됩니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 16,776
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT