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

영카트5 팁자료실

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

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

첨부파일

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

댓글 전체

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

회원로그인

진행중인 포인트경매

  1. 첨단보안 역해킹과 해커박스

    참여9 회 시작17.12.15 10:22 종료17.12.20 10:22
  2. 홈플러스 모바일 쿠폰 50,000원

    참여76 회 시작17.12.13 22:51 종료17.12.18 22:51
  3. MySQL Advanced Class (그누보드5는 MySQL을 사용합니다.)

    참여14 회 시작17.12.13 10:17 종료17.12.18 10:17

(주)에스아이알소프트 (06253) 서울특별시 강남구 도곡로1길 14, 6층 624호 (역삼동, 삼일프라자) 대표메일:admin@sir.kr
사업자등록번호:217-81-36347 대표:홍석명 통신판매업신고번호:2014-서울강남-02098호 개인정보보호책임자:이총

© SIRSOFT