장바구니를 이용한 견적서 출력기능 만들기 > 영카트5 팁자료실

영카트5 팁자료실

장바구니를 이용한 견적서 출력기능 만들기 정보

장바구니를 이용한 견적서 출력기능 만들기

첨부파일

첨부파일 cartprint.php (7.0K) 28회 다운로드 2017-05-11 15:50:36

본문

목차
1. 프로그램 구조 설명
2. 프로그램 세부내용


1. 프로그램 구조 설명
  1) 견적상품은 장바구니에 담긴 상품을 사용합니다.
    (1) 선택옵션을 1개(1단계)만 사용합니다. 선택옵션이 2단 이상일 경우 오작동 할 수 있음.
    (2) 추가옵션은 사용하지 않습니다. 추가옵션이 있는 경우 오작동 할 수 있음.
  2) 장바구니(cart.php)에 견적서출력 버튼을 생성(주문하기 버튼 옆)
  3) 버튼 클릭으로 자바스크립트 함수를 실행
    (1) ajax방식으로 상품정보를 세션에 저장
(2) 팝업으로 견적서인쇄 페이지를 띄움
  4) 견적서인쇄 페이지에서 세션값을 검사하여 상품정보DB 조회후 화면에 표시함

  *) 견적자료는 DB에 저장하거나 별도로 전송하지 않습니다. (필요하면 별도로 개발하세요.)



2. 프로그램 세부내용

  1) cart.php : form_check() 함수 아래에 form_print() 함수를 선언합니다.
 
<script type="text/javascript">
// 장바구니 상품을 견적서로 출력한다. [라보텍, 2017-05-10]
function form_print() {
//console.log("print click");
    var f = document.frmcartlist;
var objWin = null;
    var cart_data = $(f).serialize();

if($("input[name^=ct_chk]:checked").size() < 1) {
alert("견적서를 출력하실 상품을 하나이상 선택해 주십시오.");
return false;
}

    $.ajax({
        type: "POST",
        data: cart_data,
        url: "ajax.cartprint.php",
        cache: false,
        async: false,
        success: function(data) {
            save_result = data; // ajax 결과처리는 대충넘어갑니다.
        }
    });

objWin = window.open("cartprint.php", "WinItemPrint", "width=640,height=750,scrollbars=yes");
if(objWin) {
return;
} else {
alert("견적서 페이지를 실행하지 못하였습니다.");
return;
}
}
</script>


  2) cart.php : 주문하기 버튼 옆에 견적서출력 버튼을 생성합니다.
 
<button type="button" onclick="return form_print();" class="btn_submit" style="background:#1596db;">견적서출력</button>



  3) ajax.cartprint.php 파일을 생성합니다.
 
<?php
include_once('./_common.php');

if(empty($_POST))
    die('정보가 넘어오지 않았습니다.');

$dt_data = serialize($_POST);
set_session("cartprint", $dt_data);

die('');
?>



  4) cartprint.php 파일을 생성합니다.

<?php
include_once('./_common.php');
include_once(G5_PATH.'/head.sub.php');

# 세션데이터에서 장바구니 전송값을 가져온다. ---------------------------------------------------
# [cart.php -> ajax.cartprint.php 세션저장한 값]
$tmp_data = get_session("cartprint");
if($tmp_data) {
$array = unserialize($tmp_data);
}
//print_r($array);

# 장바구니 데이터 검사 --------------------------------------------------------------------------
if(is_array($array) && is_array($array['it_id']) && is_array($array['ct_chk'])) {
# 장바구니 전송됨
} else {
# 장바구니 전송안됨
echo "<h2>견적서를 출력할 제품이 없습니다.</h2>";
include_once(G5_PATH.'/tail.sub.php');
exit;
}

# 장바구니 no 가공 ---------------------------------------------------------------------------
/* 장바구니 상품번호와 체크여부(ct_chk)를 비교하여 견적할 제품번호만 남긴다. */
foreach($array['it_id'] as $key=>$val) {
if(isset($array['ct_chk'][$key]) && $array['ct_chk'][$key]=="1") {
$TMP['it'][] = $val;
} else {
continue;
}
}

//print_r($TMP['it']);
// 이하 생략 : 첨부파일 참조
?>

댓글 전체

전체 205
영카트5 팁자료실 내용 검색

회원로그인

진행중인 이벤트

  1. 레오파드 기계식키보드 경품레오파트 기계식키보드 추첨1명 발표17.06.29 (목)
  2. 아이패드2 레티나 경품아이패드2 레티나 추첨1명 발표17.06.29 (목)

(주)에스아이알소프트 (06253) 서울 강남구 강남대로 310, 1312호 (역삼동, 유니온센터) 대표메일:admin@sir.kr
사업자등록번호:217-81-36347 대표:홍석명 통신판매업신고번호:2014-서울강남-02098호 개인정보보호책임자:이총

© SIRSOFT