테스트 사이트 - 개발 중인 베타 버전입니다

상품 일괄 할인 적용하기 (2022-02-09 10:05 수정)

· 3년 전 · 3255 · 9

[주] 이후 강좌수정내용의 업데이트가 안될수 있습니다.
본 강좌의 최신업데이트는 https://www.happyjung.com/lecture/3056 에서 확인가능합니다.
가급적 동일한 내용을 유지하려고 노력하지만, 우선 작업은 위 링크입니다.

 

 

상품 일괄 할인율을 적용하는 방법입니다
지정된 % 가 일괄 할인해서 구매가 이뤄지도록 합니다


디비의 g5_shop_default 에 de_sell_count 필드를 추가
adm
└ admin.menu400.shop_1of2.php
adm / shop_admin
├ itemsellform.php
└ itemsellformupdate.php
shop
└ cartupdate.php
skin / shop / basic
└ item.form.skin.php


1. adm / admin.menu400.shop_1of2.php
아래 내용 추가
array('400310', '일괄할인', G5_ADMIN_URL.'/shop_admin/itemsellform.php', 'itemsellform'),


2. adm / shop_admin / itemsellform.php 생성
<?php
$sub_menu = '400310';
include_once('./_common.php');

auth_check($auth[$sub_menu], "w");

$html_title = "일괄할인";

$g5['title'] = $html_title;
include_once (G5_ADMIN_PATH.'/admin.head.php');

// 재입고알림 설정 필드 추가
if(!sql_query(" select de_sell_count from {$g5['g5_shop_default_table']} limit 1 ", false)) {
sql_query(" ALTER TABLE `{$g5['g5_shop_default_table']}`
ADD `de_sell_count` tinyint(4) NOT NULL DEFAULT '0' COMMENT '일괄할인' ", true);
}
?>

 

일괄할인


<?php echo $pg_anchor; ?>

 

 

제품 가격을 비율로 일괄 할인 판매합니다

 

 

 




 
일괄할인
일괄할인
<?php echo help("할인율이 0 이상일때 할인율이 작동합니다"); ?>
%

 

 

 

 

 

 

 

 

 


<?php
include_once (G5_ADMIN_PATH.'/admin.tail.php');


3. adm / shop_admin / itemsellformupdate.php 생성
<?php
$sub_menu = '400310';
include_once('./_common.php');

check_demo();

auth_check($auth[$sub_menu], "w");

check_admin_token();

$sql = " update {$g5['g5_shop_default_table']}
set de_sell_count = '{$_POST['de_sell_count']}'
";
sql_query($sql);

goto_url("./itemsellform.php");


4. shop / cartupdate.php
$sql .= $comma."( '$tmp_cart_id', '{$member['mb_id']}', '{$it['it_id']}', '".addslashes($it['it_name'])."', '{$it['it_sc_type']}', '{$it['it_sc_method']}', '{$it['it_sc_price']}', '{$it['it_sc_minimum']}', '{$it['it_sc_qty']}', '쇼핑', '{$it['it_price']}', '$point', '0', '0', '$io_value', '$ct_qty', '{$it['it_notax']}', '$io_id', '$io_type', '$io_price', '".G5_TIME_YMDHIS."', '$remote_addr', '$ct_send_cost', '$sw_direct', '$ct_select', '$ct_select_time' )";

를 아래와 같이 변경

$it_price = $it['it_price'];
//if ($default['de_sell_count']>0 && ($member['mb_id']=='테스트아이디')) { // 테스트할때 사용
if ($default['de_sell_count']>0) { // 일괄할인
$it_price = $it_price - ceil($it_price * $default['de_sell_count'] / 100);
}
$sql .= $comma."( '{$tmp_cart_id}', '{$member['mb_id']}', '{$it['it_id']}', '".addslashes($it['it_name'])."', '{$it['it_sc_type']}', '{$it['it_sc_method']}', '{$it['it_sc_price']}', '{$it['it_sc_minimum']}', '{$it['it_sc_qty']}', '쇼핑', '{$it_price}', '{$point}', '0', '0', '{$io_value}', '{$ct_qty}', '{$it['it_notax']}', '{$io_id}', '{$io_type}', '{$io_price}', '".G5_TIME_YMDHIS."', '{$REMOTE_ADDR}', '{$ct_send_cost}', '{$sw_direct}', '{$ct_select}', '{$ct_select_time}' )";



5. skin / shop / basic / item.form.skin.php
판매가격

<?php echo display_price(get_price($it)); ?>



를 아래와 같이 변경

판매가격

<?php // 일괄할인
//if ($default['de_sell_count']>0 && ($member['mb_id']=='테스트아이디')) { // 테스트할때 사용
if ($default['de_sell_count']>0) {
?>

<?php echo display_price(get_price($it)); ?> <?php echo $default['de_sell_count']; ?>% 할인
<?php echo display_price(get_price($it) - get_price($it) * $default['de_sell_count'] / 100); ?>

<?php
} else {
?>
<?php echo display_price(get_price($it)); ?>

<?php
}
?>

 

 

 

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 9개

3년 전
대단히 감사합니다. 새해 복 많이 받으세요.
감사합니다!!
좋은정보 감사합니다.
반대로 일괄 인상하는것도 가능한건가요
@jude1234 소스에서 - 를 + 로 변경하면 일괄인상도 되기는 하죠
디비에서 가격을 변경하는 것이 아니라서, 인상용으로 사용하기에는 좀 애매할듯 싶네요
3년 전
감사합니둥
그대로 적용한 것 같은데 주문하려고 하면 '장바구니 금액에 변동사항이 있습니다. 장바구니를 다시 확인해 주세요.' alert 창이 뜨네요 ㅜ
@FraisJus https://www.happyjung.com/lecture/3056 를 확인해주세요
변경된 내용이 있습니다
@해피정 답변 감사합니다. 본문 소스 참고해서 어찌어찌 해결했었던 기억이 납니다. 좋은 팁 공유해주셔서 감사드립니다.

게시글 목록

번호 제목
1634
1632
1631
1630
1629
1625
1608
1595
1578
1571
1567
1561
1560
1558
1555
1554
1553
1552
1551
1547
1538
1531
1527
1523
1522
1512
1511
1506
1503
1489