포인트 지급 내역에서 여푼필드 값 불러오는 방법 질문드립니다.

포인트 지급 내역에서 여푼필드 값 불러오는 방법 질문드립니다.

QA

포인트 지급 내역에서 여푼필드 값 불러오는 방법 질문드립니다.

본문

shop.lib.php 에서

현재 구매 완료후 포인트가 지급되면

function save_order_point($ct_status="완료")
{
    global $g5, $default;

    $beforedays = date("Y-m-d H:i:s", ( time() - (86400 * (int)$default['de_point_days']) ) ); // 86400초는 하루
    $sql = " select * from {$g5['g5_shop_cart_table']} where ct_status = '$ct_status' and ct_point_use = '0' and ct_time <= '$beforedays' ";
    $result = sql_query($sql);
    for ($i=0; $row=sql_fetch_array($result); $i++) {
        // 회원 ID 를 얻는다.
        $od_row = sql_fetch("select od_id, mb_id from {$g5['g5_shop_order_table']} where od_id = '{$row['od_id']}' ");
        if ($od_row['mb_id'] && $row['ct_point'] > 0) { // 회원이면서 포인트가 0보다 크다면
            $po_point = $row['ct_point'] * $row['ct_qty'];
            $po_content = "주문번호 {$od_row['od_id']} ({$row['ct_id']}) 배송완료";
            insert_point($od_row['mb_id'], $po_point, $po_content, "@delivery", $od_row['mb_id'], "{$od_row['od_id']},{$row['ct_id']}");
        }
        sql_query("update {$g5['g5_shop_cart_table']} set ct_point_use = '1' where ct_id = '{$row['ct_id']}' ");
    }
}

 

이렇게 되있어서 $po_content = "주문번호 {$od_row['od_id']} ({$row['ct_id']}) 배송완료"; 

여기에 주문번호와 배송완료 말고 여분필드 mb_1에 저장된 값을 불러와서 표시하고 싶습니다.

어떻게 해야 할까요?

이 질문에 댓글 쓰기 :

답변 3

여분필드가 회원의 여분필드인듯 한데 회원정보의 mb_id 정보로 회원테이블을 호출해서 mb_1 의 정보를가져와서 표시해 주셔야 합니다.

관리자가 한명이 모든 처리를 한다면 로그인상태에서 $member['mb_1']로 접근하면 해당 값을 대입할수 있습니다.

어떤 작업을 위해서 수정이 필요한지 설명해주셔야지 상세한 답변이 가능할것 같습니다.

해당 유저가 포인트 내역보기에서 보여지는 부분만 변경하면 되는거라면 포인트 스킨으로 충분히 가능할것 같습니다
이미 로그인 된 상태에서 포인트를 조회하는것이니 여분 필드로 위에서 언급한것처럼 $member['mb_1'] 로 바로 접근 가능한 부분도 있어니깐 처리하는게 더 편합니다.
지급내역 문구는 DB상에서는 그대로 보존해두는것이 좋을것 같습니다

https://github.com/gnuboard/gnuboard5/blob/master/theme/basic/skin/member/basic/point.skin.php

업데이트등 편의성 차원에서 코어파일(shop.lib.php)을 손되지 않고 처리하는 방법을 알려드렸는데 굳이 해당 함수에서 처리하시고 싶으시다면 $od_row['mb_id'] 변수에 회원아이디를 가져와서 대입한 상태이니 해당 변수를 이용해서 회원테이블 조회 쿼리를 만드시고 값을 대입하시면 됩니다.

// 회원이면서 포인트가 0보다 크다면 <--다음줄에 추가

$mb = get_member( $od_row['mb_id'], "mb_1");

 

$po_content = "{$mb['mb_id']} ({$row['ct_id']}) 배송완료";

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

회원로그인

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