안녕하세요~
영카트 최신버전으로 쇼핑몰을 운영하고 있고요.
운영중에 딜러들에게는 회원권한을 8등급 이상을 주고,
할인가로 결제가 되게끔 커스터마이징을 했는데요.
네이버페이로도 할인가를 넘기는데,
mb_level 값이 안넘어가다보니 조건을 걸수가 없어서 도움을 요청하고자 작성하였습니다.
/lib/naverpay.lib.php
#121 function query() 영역에서,
if ($it['it_price_vip'] && $mb_level >= 8 && $it['ca_id']=="70") {
$uprice = get_price_vip($it);
} else {
$uprice = get_price($it);
}
위와 같이 입력하면 $it 값은 해당 페이지에서 이미 호출해서 쓰는 값이니 잘 불러지는데,
$mb_level 또는 $member['mb_level'] 을 해주면 어떻게 해도 멤버 등급값을 가져오지 못한다는 것입니다.
해당 페이지를 제외한 모든 페이지에서는 이미 common.php에서 정의된 값이니 제대로 잘 나옵니다.
결국, naverpay.lib.php에 멤버관련 값을 불러오지 못한다는 이야기인데,
이러다보니 이전 페이지에서 mb_level 값을 던져주고 싶어도, 어디를 수정해야할지 모르겠습니다. ㅠㅠ
naverpay.lib.php를 호출하는 페이지는 /shop/naverpay/naverpay_order.php 이고요.
include_once(G5_LIB_PATH.'/naverpay.lib.php');
어디서 값을 어떻게 보내줘야 할지....
테스트와 테스트를 거듭하다가 글을 남깁니다. ㅠㅠ
작은 키포인트라도 좋으니 도와주시면 정말 감사하겠습니다.
답변 1개
혹시 도움이 필요하신 분이 계실지 몰라,
해결방안을 작성해놓습니다.
naverpay.lib.php 등의 페이지에서 해결하지 않고,
/lib/shop.lib.php 페이지에서 추가로 정의해놓은,
get_price_vip 함수에다가 조건을 걸어줬습니다.
예를 들면 아래와 같이,
// 금액표시
// $it : 상품 배열
function get_price($it)
{
global $member;
if ($it['it_tel_inq']) return '전화문의';
$price = $it['it_price'];
return (int)$price;
}
// $it3 : 딜러가 상품 배열
function get_price_vip($it)
{
global $member;
if ($member['mb_level'] >= 8) { $price_vip = $it['it_price_vip']; }
else { $price_vip = $it['it_price']; }
return (int)$price_vip;
}
그리고 /lib/naverpay.lib.php 페이지에서는 조건을 빼올수 있는 상품정보로만 가볍게 걸어줬습니다.
if ($it['it_price_vip']) {
$uprice = get_price_vip($it);
} else {
$uprice = get_price($it);
}
답변을 작성하려면 로그인이 필요합니다.