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

영카트5 팁자료실

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

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

첨부파일

첨부파일 cartprint.php (7.0K) 50회 다운로드 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']);
// 이하 생략 : 첨부파일 참조
?>

댓글 전체

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

회원로그인

진행중인 포인트경매

  1. 라온보드 출시 기념 머그컵

    참여129 회 시작17.10.12 09:59 종료17.10.17 09:59

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

© SIRSOFT