본문 바로가기

그누보드&영카트

그누보드 영카트 주문서 필수 입력 값 무시하는 방법 및 INIStdPay/Dev. Error

반응형

주문서에서 필드 입력을 받지 않고 싶다면 또는 무시하고 싶다면
이 방법을 사용해보자.

필드 값들은 input 태그로 입력할 수 있게 되어 있다.
만약 주문서에서 주소 필수 입력의 경우 주소 input값을 받지 않고 무시하고 싶은 경우 예이다.


먼저 수정을 하고자 하는 shop/orderform.sub.php 파일로 접속한다.
주소 관련 코드를 찾은 후 input value=""를 통해 필드를 입력하지 않아도 자동 입력되어 있도록 한다.

<tr>
  <th scope="row">주소</th>
  <td id="sod_frm_addr">
    <label for="od_b_zip" class="sound_only">우편번호 <strong class="sound_only"> 필수</strong>
    </label>
    <input type="text" name="od_b_zip" value="00000" id="od_b_zip" required class="frm_input required" size="8" maxlength="6" placeholder="우편번호">
    <button type="button" class="btn_address" onclick="win_zip('forderform', 'od_b_zip', 'od_b_addr1', 'od_b_addr2', 'od_b_addr3', 'od_b_addr_jibeon');">주소 검색</button>
    <br>
    <input type="text" name="od_b_addr1" value="주소없음" id="od_b_addr1" required class="frm_input frm_address required" size="60" placeholder="기본주소">
    <label for="od_b_addr1" class="sound_only">기본주소 <strong> 필수</strong>
    </label>
    <br>
    <input type="text" name="od_b_addr2" value="주소없음" id="od_b_addr2" class="frm_input frm_address" size="60" placeholder="상세주소">
    <label for="od_b_addr2" class="sound_only">상세주소</label>
    <br>
    <input type="text" name="od_b_addr3" value="주소없음" id="od_b_addr3" readonly="readonly" class="frm_input frm_address" size="60" placeholder="참고항목">
    <label for="od_b_addr3" class="sound_only">참고항목</label>
    <br>
    <input type="hidden" name="od_b_addr_jibeon" value="">
  </td>
</tr>



이렇게 진행한 결과 무통장입금으로는 해당 필드를 입력하지 않아도, 정상결제가 진행되는것을 확인할 수 있었다.
하지만 KG이니시스의 경우에는 "INIStdPay/Dev. Error"  "inistdpay 변수 (price=0)의 값이 없습니다" 라는 오류메시지를 보낸다.

따라서 추가작업을 진행했다. 하단에 보면 구매자 정보와 동일합니다. 관련 코드가 존재한다.

function gumae2baesong() {
    var f = document.forderform;

    f.od_b_name.value = f.od_name.value;
    //f.od_b_tel.value  = f.od_tel.value;
    //f.od_b_hp.value   = f.od_hp.value;
    f.od_b_zip.value  = f.od_zip.value;
    f.od_b_addr1.value = f.od_addr1.value;
    f.od_b_addr2.value = f.od_addr2.value;
    f.od_b_addr3.value = f.od_addr3.value;
    f.od_b_addr_jibeon.value = f.od_addr_jibeon.value;

    calculate_sendcost(String(f.od_b_zip.value));
}
gumae2baesong()


영카트는 주문자정보와 구매자정보 둘 다 입력하게 되어 있다.
이 때 구매자정보에 필요한 부분은 주석처리를 한다.
필자의 경우 휴대폰과 전화번호의 값은 그대로 사용할 것이기 때문에 주석처리를 하였다.

그리고 마지막 행에 gumae2baesong() 를 추가하면서 사이트 접속 후에 바로 해당 코드가 실행되도록 하였다.

마지막으로 보기 좋게 필요없는 부분은 css 코드를 통해 display:none 을 하거나 삭제처리를 하면 깔끔하게 정리된다.

최종결과물

 

반응형