변경 파일 목록
총 20개
Controller (1)
DeliveryRegistController.phpAdmin/Policy/data (13)
layer.cssskin/front/moment/css/common/layer/goods_view.htmlskin/front/moment/goods/layer_option.htmlskin/front/moment/goods/layer.cssskin/front/mygreek/css/common/layer/goods_view.htmlskin/front/mygreek/goods/layer_option.htmlskin/front/mygreek/goods/icon_warning_green.svgskin/front/mygreek/img/icon/etc/gd_share.cssskin/front/story_g/css/goods_view.htmlskin/front/story_g/goods/layer_option.htmlskin/front/story_g/goods/goods_view.htmlskin/mobile/moment/goods/goods_view.htmlskin/mobile/mygreek/goods/goods_view.htmlskin/mobile/story_g/goods/변경 파일 코드
추가삭제
변경 전delivery_regist.php
| </div> | |
| </td> | |
| </tr> | |
| </tbody> | |
| <tbody> | |
| <tr> | |
| </script> | |
| <script type="text/html" id="templateMethodEtc"> | |
| <tr> | |
| <th>배송비 설정(<%=strTitle%>별)</th> | |
| <td colspan="3"> | |
| <% if (deliveryConfigType == 'all') { %> | |
| <table id="basicDeliveryConfigFeeForm" class="table table-cols mgb0"> | |
| </script> | |
| <script type="text/html" id="templateMethodEtcRangeRepeat"> | |
| <tr> | |
| <th>배송비 설정(<%=strTitle%>별)</th> | |
| <td colspan="3"> | |
| <% if (deliveryConfigType == 'all') { %> | |
| <table id="basicDeliveryConfigFeeForm" class="table table-cols mgb0"> | |
| </td> | |
| </tr> | |
| </script> | |
| <script type="text/javascript"> | |
| <!-- | |
| var data = <?=json_encode($data)?>; | |
| * @param string fixMethod 배송비 책정 방법 | |
| */ | |
| var defaultMethod, defaultDeliveryConfigType, defaultRangeRepeat; | |
| function form_delivery_charge(fixMethod) { | |
| deliveryConfigType(); | |
| // 배송비설정 초기화 | |
| form_delivery_charge(fixFl); | |
| // 금액 입력부 초기화 | |
| $('input[name*=\'[unitStart]\']').number_only(); | |
| $('input[name*=\'[unitEnd]\']').number_only(); | |
| $('#basic_fixFl').change(function () { | |
| fixFl = this.value; | |
| form_delivery_charge(this.value); | |
| }); | |
| // 공급사 구분 선택 이벤트 | |
| else { | |
| $('#areaGroupSelect').hide(); | |
| } | |
| }); | |
| // 출고지/반품/교환지 주소 토글 | |
변경 후delivery_regist.php
| </div> | |
| </td> | |
| </tr> | |
| <tr id="areaChargeRepeatArea"<?= (in_array($data['basic']['fixFl'], ['count', 'weight']) && $data['basic']['areaFl'] == 'y') ? '' : ' style="display:none;"' ?>> | |
| <th>지역별 추가배송비<br>부과방법 | |
| <button type="button" class="btn btn-xs js-area-charge-repeat-help"><span class="icon-tooltip"></span></button> | |
| </th> | |
| <td colspan="3"> | |
| <label class="radio-inline"> | |
| <input type="radio" name="basic[areaChargeRepeatFl]" value="n" <?= $checked['areaChargeRepeatFl']['n'] ?? '' ?> /> 배송비 구간에 상관없이 1회 부과 | |
| </label> | |
| <label class="radio-inline"> | |
| <input type="radio" name="basic[areaChargeRepeatFl]" value="y" <?= $checked['areaChargeRepeatFl']['y'] ?? '' ?> /> 배송비 구간마다 반복 부과 | |
| </label> | |
| </td> | |
| </tr> | |
| </tbody> | |
| <tbody> | |
| <tr> | |
| </script> | |
| <script type="text/html" id="templateMethodEtc"> | |
| <tr> | |
| <th>배송비 <%= (fixMethod == 'count' || fixMethod == 'weight') ? '구간 ' : '' %>설정(<%=strTitle%>별)</th> | |
| <td colspan="3"> | |
| <% if (deliveryConfigType == 'all') { %> | |
| <table id="basicDeliveryConfigFeeForm" class="table table-cols mgb0"> | |
| </script> | |
| <script type="text/html" id="templateMethodEtcRangeRepeat"> | |
| <tr> | |
| <th>배송비 <%= (fixMethod == 'count' || fixMethod == 'weight') ? '구간 ' : '' %>설정(<%=strTitle%>별)</th> | |
| <td colspan="3"> | |
| <% if (deliveryConfigType == 'all') { %> | |
| <table id="basicDeliveryConfigFeeForm" class="table table-cols mgb0"> | |
| </td> | |
| </tr> | |
| </script> | |
| <!-- 지역별 추가배송비 부과방법 도움말 (팝오버 콘텐츠) --> | |
| <div id="areaChargeRepeatHelp" class="display-none"> | |
| <p><strong>배송비 구간에 상관없이 1회 부과</strong><br/> | |
| - 주문한 상품의 수량, 무게에 상관없이 지역별 추가 배송비가 1회만 부과됩니다.</p> | |
| <p><strong>배송비 구간마다 반복 부과</strong><br/> | |
| - 배송비 구간 설정에서 입력한 수량, 무게 범위 구간마다 지역별 추가 배송비가 추가 부과됩니다.</p> | |
| <table class="table table-cols"> | |
| <colgroup><col style="width:60%"/><col style="width:40%"/></colgroup> | |
| <thead><tr><th>구매수량 범위</th><th>배송비</th></tr></thead> | |
| <tbody> | |
| <tr><td>0개 이상 ~ 2개 미만일 때</td><td>1,000원</td></tr> | |
| <tr><td>3개 이상</td><td>3,000원</td></tr> | |
| </tbody> | |
| </table> | |
| <p>: 지역별 배송비가 500원일 때, 4개 구매 시 지역별 배송비가 2회 부과되어<br/> | |
| 총 배송비는 3,000원 + (500원 x 2) = 4,000원</p> | |
| <p>- 범위 반복이 설정된 경우 입력한 수량, 무게 단위로 지역별 배송비가 추가 부과됩니다.</p> | |
| <table class="table table-cols"> | |
| <colgroup><col style="width:60%"/><col style="width:40%"/></colgroup> | |
| <thead><tr><th>구매수량 범위</th><th>배송비</th></tr></thead> | |
| <tbody> | |
| <tr><td>0개 이상 ~ 2개 미만일 때</td><td>1,000원</td></tr> | |
| <tr><td>2개 이상 ~ 2개 마다 반복 부과</td><td>2,000원</td></tr> | |
| </tbody> | |
| </table> | |
| <p>: 지역별 배송비가 500원일 때, 6개 구매 시 지역별 배송비가 4회 부과되어<br/> | |
| 총 배송비는 1,000원 + (2,000원 x 3) + (500원 x 4) = 9,000원</p> | |
| </div> | |
| <style> | |
| button.js-area-charge-repeat-help { background-color: transparent; margin: 0; } | |
| .area-charge-repeat-popover { max-width: 480px; } | |
| .area-charge-repeat-popover .popover-content { padding: 15px; } | |
| .area-charge-repeat-popover table { margin-bottom: 8px; } | |
| .area-charge-repeat-popover table td { text-align: left; } | |
| .area-charge-repeat-popover .popover-content { text-align: left; } | |
| </style> | |
| <script type="text/javascript"> | |
| <!-- | |
| var data = <?=json_encode($data)?>; | |
| * @param string fixMethod 배송비 책정 방법 | |
| */ | |
| var defaultMethod, defaultDeliveryConfigType, defaultRangeRepeat; | |
| /** | |
| * 지역별 추가배송비 부과방법(1회/구간반복) 노출 토글 | |
| * 노출조건: 배송비 유형이 수량별/무게별 이고, 지역별 추가배송비가 "있음"일 때만 | |
| */ | |
| function toggleAreaChargeRepeat() { | |
| var fixFlVal = $('#basic_fixFl').val(); | |
| var areaFlVal = $('input[name="basic[areaFl]"]:checked').val(); | |
| if ((fixFlVal == 'count' || fixFlVal == 'weight') && areaFlVal == 'y') { | |
| $('#areaChargeRepeatArea').show(); | |
| } else { | |
| $('#areaChargeRepeatArea').hide(); | |
| } | |
| } | |
| function form_delivery_charge(fixMethod) { | |
| deliveryConfigType(); | |
| // 배송비설정 초기화 | |
| form_delivery_charge(fixFl); | |
| // 지역별 추가배송비 부과방법 노출 초기화 | |
| toggleAreaChargeRepeat(); | |
| // 지역별 추가배송비 부과방법 도움말 팝오버 | |
| $('.js-area-charge-repeat-help').popover({ | |
| trigger: 'hover', | |
| container: '#content', | |
| html: true, | |
| sanitize: false, | |
| placement: 'right', | |
| content: function () { | |
| return $('#areaChargeRepeatHelp').html(); | |
| }, | |
| template: '<div class="popover area-charge-repeat-popover" role="tooltip"><div class="arrow"></div><div class="popover-content"></div></div>' | |
| }); | |
| // 금액 입력부 초기화 | |
| $('input[name*=\'[unitStart]\']').number_only(); | |
| $('input[name*=\'[unitEnd]\']').number_only(); | |
| $('#basic_fixFl').change(function () { | |
| fixFl = this.value; | |
| form_delivery_charge(this.value); | |
| toggleAreaChargeRepeat(); | |
| }); | |
| // 공급사 구분 선택 이벤트 | |
| else { | |
| $('#areaGroupSelect').hide(); | |
| } | |
| toggleAreaChargeRepeat(); | |
| }); | |
| // 출고지/반품/교환지 주소 토글 | |
변경 전delivery_regist.php
| </div> | |
| </td> | |
| </tr> | |
| </tbody> | |
| <tbody> | |
| <tr> | |
| </script> | |
| <script type="text/html" id="templateMethodEtc"> | |
| <tr> | |
| <th>배송비 설정(<%=strTitle%>별)</th> | |
| <td colspan="3"> | |
| <% if (deliveryConfigType == 'all') { %> | |
| <table id="basicDeliveryConfigFeeForm" class="table table-cols mgb0"> | |
| </script> | |
| <script type="text/html" id="templateMethodEtcRangeRepeat"> | |
| <tr> | |
| <th>배송비 설정(<%=strTitle%>별)</th> | |
| <td colspan="3"> | |
| <% if (deliveryConfigType == 'all') { %> | |
| <table id="basicDeliveryConfigFeeForm" class="table table-cols mgb0"> | |
| </tr> | |
| </script> | |
| <script type="text/javascript"> | |
| <!-- | |
| var data = <?=json_encode($data)?>; | |
| * @param string fixMethod 배송비 책정 방법 | |
| */ | |
| var defaultMethod, defaultDeliveryConfigType, defaultRangeRepeat; | |
| function form_delivery_charge(fixMethod) { | |
| deliveryConfigType(); | |
| // 배송비설정 초기화 | |
| form_delivery_charge(fixFl); | |
| // 금액 입력 초기화 | |
| $('input[name*=\'[unitStart]\']').number_only(); | |
| $('input[name*=\'[unitEnd]\']').number_only(); | |
| console.log($('#basic_fixFl option:selected').val()); | |
| fixFl = this.value; | |
| form_delivery_charge(this.value); | |
| }); | |
| // 삭제 버튼 클릭시 이벤트 | |
| else { | |
| $('#areaGroupSelect').hide(); | |
| } | |
| }); | |
| // 출고지/반품/교환지 주소 토글 | |
변경 후delivery_regist.php
| </div> | |
| </td> | |
| </tr> | |
| <tr id="areaChargeRepeatArea"<?= (in_array($data['basic']['fixFl'], ['count', 'weight']) && $data['basic']['areaFl'] == 'y') ? '' : ' style="display:none;"' ?>> | |
| <th>지역별 추가배송비<br>부과방법 | |
| <button type="button" class="btn btn-xs js-area-charge-repeat-help"><span class="icon-tooltip"></span></button> | |
| </th> | |
| <td colspan="3"> | |
| <label class="radio-inline"> | |
| <input type="radio" name="basic[areaChargeRepeatFl]" value="n" <?= $checked['areaChargeRepeatFl']['n'] ?? '' ?> /> 배송비 구간에 상관없이 1회 부과 | |
| </label> | |
| <label class="radio-inline"> | |
| <input type="radio" name="basic[areaChargeRepeatFl]" value="y" <?= $checked['areaChargeRepeatFl']['y'] ?? '' ?> /> 배송비 구간마다 반복 부과 | |
| </label> | |
| </td> | |
| </tr> | |
| </tbody> | |
| <tbody> | |
| <tr> | |
| </script> | |
| <script type="text/html" id="templateMethodEtc"> | |
| <tr> | |
| <th>배송비 <%= (fixMethod == 'count' || fixMethod == 'weight') ? '구간 ' : '' %>설정(<%=strTitle%>별)</th> | |
| <td colspan="3"> | |
| <% if (deliveryConfigType == 'all') { %> | |
| <table id="basicDeliveryConfigFeeForm" class="table table-cols mgb0"> | |
| </script> | |
| <script type="text/html" id="templateMethodEtcRangeRepeat"> | |
| <tr> | |
| <th>배송비 <%= (fixMethod == 'count' || fixMethod == 'weight') ? '구간 ' : '' %>설정(<%=strTitle%>별)</th> | |
| <td colspan="3"> | |
| <% if (deliveryConfigType == 'all') { %> | |
| <table id="basicDeliveryConfigFeeForm" class="table table-cols mgb0"> | |
| </tr> | |
| </script> | |
| <!-- 지역별 추가배송비 부과방법 도움말 (팝오버 콘텐츠) --> | |
| <div id="areaChargeRepeatHelp" class="display-none"> | |
| <p><strong>배송비 구간에 상관없이 1회 부과</strong><br/> | |
| - 주문한 상품의 수량, 무게에 상관없이 지역별 추가 배송비가 1회만 부과됩니다.</p> | |
| <p><strong>배송비 구간마다 반복 부과</strong><br/> | |
| - 배송비 구간 설정에서 입력한 수량, 무게 범위 구간마다 지역별 추가 배송비가 추가 부과됩니다.</p> | |
| <table class="table table-cols"> | |
| <colgroup><col style="width:60%"/><col style="width:40%"/></colgroup> | |
| <thead><tr><th>구매수량 범위</th><th>배송비</th></tr></thead> | |
| <tbody> | |
| <tr><td>0개 이상 ~ 2개 미만일 때</td><td>1,000원</td></tr> | |
| <tr><td>3개 이상</td><td>3,000원</td></tr> | |
| </tbody> | |
| </table> | |
| <p>: 지역별 배송비가 500원일 때, 4개 구매 시 지역별 배송비가 2회 부과되어<br/> | |
| 총 배송비는 3,000원 + (500원 x 2) = 4,000원</p> | |
| <p>- 범위 반복이 설정된 경우 입력한 수량, 무게 단위로 지역별 배송비가 추가 부과됩니다.</p> | |
| <table class="table table-cols"> | |
| <colgroup><col style="width:60%"/><col style="width:40%"/></colgroup> | |
| <thead><tr><th>구매수량 범위</th><th>배송비</th></tr></thead> | |
| <tbody> | |
| <tr><td>0개 이상 ~ 2개 미만일 때</td><td>1,000원</td></tr> | |
| <tr><td>2개 이상 ~ 2개 마다 반복 부과</td><td>2,000원</td></tr> | |
| </tbody> | |
| </table> | |
| <p>: 지역별 배송비가 500원일 때, 6개 구매 시 지역별 배송비가 4회 부과되어<br/> | |
| 총 배송비는 1,000원 + (2,000원 x 3) + (500원 x 4) = 9,000원</p> | |
| </div> | |
| <style> | |
| button.js-area-charge-repeat-help { background-color: transparent; margin: 0; } | |
| .area-charge-repeat-popover { max-width: 480px; } | |
| .area-charge-repeat-popover .popover-content { padding: 15px; } | |
| .area-charge-repeat-popover table { margin-bottom: 8px; } | |
| .area-charge-repeat-popover table td { text-align: left; } | |
| .area-charge-repeat-popover .popover-content { text-align: left; } | |
| </style> | |
| <script type="text/javascript"> | |
| <!-- | |
| var data = <?=json_encode($data)?>; | |
| * @param string fixMethod 배송비 책정 방법 | |
| */ | |
| var defaultMethod, defaultDeliveryConfigType, defaultRangeRepeat; | |
| /** | |
| * 지역별 추가배송비 부과방법(1회/구간반복) 노출 토글 | |
| * 노출조건: 배송비 유형이 수량별/무게별 이고, 지역별 추가배송비가 "있음"일 때만 | |
| */ | |
| function toggleAreaChargeRepeat() { | |
| var fixFlVal = $('#basic_fixFl').val(); | |
| var areaFlVal = $('input[name="basic[areaFl]"]:checked').val(); | |
| if ((fixFlVal == 'count' || fixFlVal == 'weight') && areaFlVal == 'y') { | |
| $('#areaChargeRepeatArea').show(); | |
| } else { | |
| $('#areaChargeRepeatArea').hide(); | |
| } | |
| } | |
| function form_delivery_charge(fixMethod) { | |
| deliveryConfigType(); | |
| // 배송비설정 초기화 | |
| form_delivery_charge(fixFl); | |
| // 지역별 추가배송비 부과방법 노출 초기화 | |
| toggleAreaChargeRepeat(); | |
| // 지역별 추가배송비 부과방법 도움말 팝오버 | |
| $('.js-area-charge-repeat-help').popover({ | |
| trigger: 'hover', | |
| container: '#content', | |
| html: true, | |
| sanitize: false, | |
| placement: 'right', | |
| content: function () { | |
| return $('#areaChargeRepeatHelp').html(); | |
| }, | |
| template: '<div class="popover area-charge-repeat-popover" role="tooltip"><div class="arrow"></div><div class="popover-content"></div></div>' | |
| }); | |
| // 금액 입력 초기화 | |
| $('input[name*=\'[unitStart]\']').number_only(); | |
| $('input[name*=\'[unitEnd]\']').number_only(); | |
| console.log($('#basic_fixFl option:selected').val()); | |
| fixFl = this.value; | |
| form_delivery_charge(this.value); | |
| toggleAreaChargeRepeat(); | |
| }); | |
| // 삭제 버튼 클릭시 이벤트 | |
| else { | |
| $('#areaGroupSelect').hide(); | |
| } | |
| toggleAreaChargeRepeat(); | |
| }); | |
| // 출고지/반품/교환지 주소 토글 | |
변경 전Cart.php
| if ($sameGoodsDeliveryFl !== 'y') { | |
| // 배송비 계산 | |
| if ($tmp['deliveryByCalculate'] === 'y') { | |
| if ($getDeliveryInfo[$deliverySno]['rangeRepeat'] === 'y') { | |
| //범위 반복 설정이 되어있는 경우 | |
| $deliveryStandardFinal = 0; | |
| } | |
| $goodsDeliveryPrice += ($deliveryStandardFinal * $conditionRepeat['price']); | |
| } | |
| } | |
| } | |
| } | |
| if ($tmp['deliveryByStandard'] >= $cVal['unitStart'] && $tmp['deliveryByStandard'] < $cVal['unitEnd']) { | |
| $goodsDeliveryPrice = $cVal['price']; | |
| continue; | |
| } | |
| } | |
| } | |
| } | |
| // 방문수령 배송비 무료 처리 | |
| if (isset($setDeliveryCond[$deliverySno][$gVal['goodsNo']]['goodsDeliveryCollectFl']) === false || empty($setDeliveryCond[$deliverySno][$gVal['goodsNo']]['goodsDeliveryCollectFl']) === true) { | |
| $setDeliveryCond[$deliverySno][$gVal['goodsNo']]['goodsDeliveryCollectFl'] = $goodsDeliveryCollectFl; | |
| } | |
| } | |
| } | |
| // 배송비조건별 계산 | |
| // SCM 번호 설정 | |
| $scmNo = $deliveryCond['scmNo']; | |
| // 배송비 계산 | |
| if ($deliveryCond['deliveryByCalculate'] === 'y') { | |
| foreach ($setDeliveryCharge as $cKey => $cVal) { | |
| $deliveryStandardFinal += 1; | |
| } | |
| $rangeRepeatPrice += ($deliveryStandardFinal * $cVal['price']); | |
| } | |
| } | |
| } | |
| //범위반복 미사용일 시 | |
| if ($deliveryCond['deliveryByStandard'] >= $cVal['unitStart'] && $deliveryCond['deliveryByStandard'] < $cVal['unitEnd']) { | |
| $conditionSatisfy = true; | |
| } | |
| } | |
| $checkZeroPrice = true; | |
| StringUtils::strIsSet($deliveryCond['goodsDeliveryAreaPrice'], 0); | |
| if ($deliveryCond['goodsDeliveryAreaPrice'] > 0) { | |
| $deliveryCond['goodsDeliveryCollectPrice'] += $deliveryCond['goodsDeliveryAreaPrice']; | |
| } | |
| } | |
| } | |
| } | |
| // 상품별 지역배송비 총 배송 금액 | |
| gd_isset($this->totalGoodsDeliveryAreaPrice[$key], 0); | |
| if ($multiShippingFl == 'y') gd_isset($this->totalGoodsMultiDeliveryAreaPrice[$orderInfoCd][$key], 0); | |
변경 후Cart.php
| if ($sameGoodsDeliveryFl !== 'y') { | |
| // 배송비 계산 | |
| if ($tmp['deliveryByCalculate'] === 'y') { | |
| $areaChargeRepeatCount = 1; // 지역별 추가배송비 반복 구간 순번 (기본 1회) | |
| if ($getDeliveryInfo[$deliverySno]['rangeRepeat'] === 'y') { | |
| //범위 반복 설정이 되어있는 경우 | |
| $deliveryStandardFinal = 0; | |
| } | |
| $goodsDeliveryPrice += ($deliveryStandardFinal * $conditionRepeat['price']); | |
| $areaChargeRepeatCount = $deliveryStandardFinal + 1; // 범위반복: 첫 구간(1) + 반복 횟수 | |
| } | |
| } | |
| } | |
| } | |
| if ($tmp['deliveryByStandard'] >= $cVal['unitStart'] && $tmp['deliveryByStandard'] < $cVal['unitEnd']) { | |
| $goodsDeliveryPrice = $cVal['price']; | |
| $areaChargeRepeatCount = $cKey + 1; // 매칭 구간 순번 | |
| continue; | |
| } | |
| } | |
| } | |
| // 지역별 추가배송비 구간 반복 부과 | |
| // 부과방법이 '구간마다 반복(Y)'이면 매칭 구간 순번(N)만큼 지역배송비를 곱한다 | |
| if ($getDeliveryInfo[$deliverySno]['areaChargeRepeatFl'] === 'y' && $goodsDeliveryAreaPrice > 0) { | |
| $goodsDeliveryAreaPrice = $goodsDeliveryAreaPrice * $areaChargeRepeatCount; | |
| } | |
| } | |
| // 방문수령 배송비 무료 처리 | |
| if (isset($setDeliveryCond[$deliverySno][$gVal['goodsNo']]['goodsDeliveryCollectFl']) === false || empty($setDeliveryCond[$deliverySno][$gVal['goodsNo']]['goodsDeliveryCollectFl']) === true) { | |
| $setDeliveryCond[$deliverySno][$gVal['goodsNo']]['goodsDeliveryCollectFl'] = $goodsDeliveryCollectFl; | |
| } | |
| // 지역별 추가배송비 '구간마다 반복(y)'인 경우, 매칭 구간 순번(N) 곱셈을 위해 getDeliveryCond 로 전달 | |
| if ($getDeliveryInfo[$deliverySno]['areaChargeRepeatFl'] === 'y' && $goodsDeliveryAreaPrice > 0) { | |
| $setDeliveryCond[$deliverySno][$gVal['goodsNo']]['goodsDeliveryAreaPrice'] = $goodsDeliveryAreaPrice; | |
| $goodsDeliveryAreaPrice = 0; | |
| } | |
| } | |
| } | |
| // 배송비조건별 계산 | |
| // SCM 번호 설정 | |
| $scmNo = $deliveryCond['scmNo']; | |
| $areaChargeRepeatCount = 1; // 지역별 추가배송비 반복 구간 순번 (기본 1회) | |
| // 배송비 계산 | |
| if ($deliveryCond['deliveryByCalculate'] === 'y') { | |
| foreach ($setDeliveryCharge as $cKey => $cVal) { | |
| $deliveryStandardFinal += 1; | |
| } | |
| $rangeRepeatPrice += ($deliveryStandardFinal * $cVal['price']); | |
| $areaChargeRepeatCount = $deliveryStandardFinal + 1; // 범위반복: 첫 구간(1) + 반복 횟수 | |
| } | |
| } | |
| } | |
| //범위반복 미사용일 시 | |
| if ($deliveryCond['deliveryByStandard'] >= $cVal['unitStart'] && $deliveryCond['deliveryByStandard'] < $cVal['unitEnd']) { | |
| $conditionSatisfy = true; | |
| $areaChargeRepeatCount = $cKey + 1; // 매칭 구간 순번 | |
| } | |
| } | |
| $checkZeroPrice = true; | |
| StringUtils::strIsSet($deliveryCond['goodsDeliveryAreaPrice'], 0); | |
| if ($deliveryCond['goodsDeliveryAreaPrice'] > 0) { | |
| // 지역별 추가배송비 구간 반복 부과 (착불도 매칭 구간 순번 N만큼 합산) | |
| $repeatedAreaPrice = $deliveryCond['goodsDeliveryAreaPrice']; | |
| if ($deliveryInfo['areaChargeRepeatFl'] === 'y') { | |
| $repeatedAreaPrice = $repeatedAreaPrice * $areaChargeRepeatCount; | |
| } | |
| $deliveryCond['goodsDeliveryCollectPrice'] += $repeatedAreaPrice; | |
| } | |
| } | |
| } | |
| } | |
| // 지역별 추가배송비 구간 반복 부과 | |
| // 부과방법이 '구간마다 반복(y)'이면 매칭 구간 순번(N)만큼 지역배송비를 곱한다 | |
| if ($deliveryInfo['areaChargeRepeatFl'] === 'y' && $deliveryCond['deliveryByCalculate'] === 'y' && !empty($deliveryCond['goodsDeliveryAreaPrice'])) { | |
| $deliveryCond['goodsDeliveryAreaPrice'] = $deliveryCond['goodsDeliveryAreaPrice'] * $areaChargeRepeatCount; | |
| } | |
| // 상품별 지역배송비 총 배송 금액 | |
| gd_isset($this->totalGoodsDeliveryAreaPrice[$key], 0); | |
| if ($multiShippingFl == 'y') gd_isset($this->totalGoodsMultiDeliveryAreaPrice[$orderInfoCd][$key], 0); | |
변경 전DBTableField.php
| ['val' => 'dmVisitAddressUseFl', 'typ' => 's', 'def' => 'n'], // 방문수령지 상품상세노출여부 | |
| ['val' => 'rangeRepeat', 'typ' => 's', 'def' => 'n'], // 범위반복구간여부 | |
| ['val' => 'addGoodsCountInclude', 'typ' => 's', 'def' => 'n'], // 수량별배송비 추가옵션수량 포함여부 | |
| ]; | |
| // @formatter:on | |
변경 후DBTableField.php
| ['val' => 'dmVisitAddressUseFl', 'typ' => 's', 'def' => 'n'], // 방문수령지 상품상세노출여부 | |
| ['val' => 'rangeRepeat', 'typ' => 's', 'def' => 'n'], // 범위반복구간여부 | |
| ['val' => 'addGoodsCountInclude', 'typ' => 's', 'def' => 'n'], // 수량별배송비 추가옵션수량 포함여부 | |
| ['val' => 'areaChargeRepeatFl', 'typ' => 's', 'def' => 'n'], // 지역별 추가배송비 부과방법 (y:구간마다 반복 / n:1회) | |
| ]; | |
| // @formatter:on | |
변경 전DeliveryCart.php
| 'rangeLimitWeight', | |
| 'rangeRepeat', | |
| 'addGoodsCountInclude', | |
| 'deliveryMethodFl', | |
| 'deliveryVisitPayFl', | |
| 'deliveryConfigType', | |
변경 후DeliveryCart.php
| 'rangeLimitWeight', | |
| 'rangeRepeat', | |
| 'addGoodsCountInclude', | |
| 'areaChargeRepeatFl', | |
| 'deliveryMethodFl', | |
| 'deliveryVisitPayFl', | |
| 'deliveryConfigType', | |
변경 전Delivery.php
| $data['basic']['dmVisitTypeDisplayFl'] = gd_isset($arrData['basic']['dmVisitTypeDisplayFl'], 'n'); | |
| $data['basic']['rangeRepeat'] = gd_isset($arrData['basic']['rangeRepeat'], 'n'); | |
| $data['basic']['addGoodsCountInclude'] = gd_isset($arrData['basic']['addGoodsCountInclude'], 'n'); | |
| $data['basic']['deliveryVisitPayFl'] = gd_isset($arrData['basic']['deliveryVisitPayFl'], 'y'); | |
| $data['basic']['dmVisitAddressUseFl'] = gd_isset($arrData['basic']['dmVisitAddressUseFl'], 'n'); | |
| $data['basic']['sameGoodsDeliveryFl'] = gd_isset($arrData['basic']['sameGoodsDeliveryFl'], 'n'); | |
변경 후Delivery.php
| $data['basic']['dmVisitTypeDisplayFl'] = gd_isset($arrData['basic']['dmVisitTypeDisplayFl'], 'n'); | |
| $data['basic']['rangeRepeat'] = gd_isset($arrData['basic']['rangeRepeat'], 'n'); | |
| $data['basic']['addGoodsCountInclude'] = gd_isset($arrData['basic']['addGoodsCountInclude'], 'n'); | |
| $data['basic']['areaChargeRepeatFl'] = $arrData['basic']['areaChargeRepeatFl'] ?? 'n'; | |
| $data['basic']['deliveryVisitPayFl'] = gd_isset($arrData['basic']['deliveryVisitPayFl'], 'y'); | |
| $data['basic']['dmVisitAddressUseFl'] = gd_isset($arrData['basic']['dmVisitAddressUseFl'], 'n'); | |
| $data['basic']['sameGoodsDeliveryFl'] = gd_isset($arrData['basic']['sameGoodsDeliveryFl'], 'n'); | |
변경 전DeliveryRegistController.php
| gd_isset($data['basic']['dmVisitTypeFl'], 'same'); | |
| gd_isset($data['basic']['dmVisitTypeDisplayFl'], 'n'); | |
| gd_isset($data['basic']['rangeRepeat'], 'n'); | |
| gd_isset($data['manage']['scmNo'], (Manager::isProvider() && !Request::get()->has('sno') ? Session::get('manager.scmNo') : $data['manage']['scmNo'])); | |
| gd_isset($data['basic']['deliveryConfigType'], 'all'); | |
| $checked['dmVisitAddressUseFl'][$data['basic']['dmVisitAddressUseFl']] = | |
| $checked['rangeRepeat'][$data['basic']['rangeRepeat']] = | |
| $checked['addGoodsCountInclude'][$data['basic']['addGoodsCountInclude']] = | |
| $checked['deliveryConfigType'][$data['basic']['deliveryConfigType']] = 'checked="checked"'; | |
| //배송 방식 | |
변경 후DeliveryRegistController.php
| gd_isset($data['basic']['dmVisitTypeFl'], 'same'); | |
| gd_isset($data['basic']['dmVisitTypeDisplayFl'], 'n'); | |
| gd_isset($data['basic']['rangeRepeat'], 'n'); | |
| $data['basic']['areaChargeRepeatFl'] = $data['basic']['areaChargeRepeatFl'] ?? 'n'; | |
| gd_isset($data['manage']['scmNo'], (Manager::isProvider() && !Request::get()->has('sno') ? Session::get('manager.scmNo') : $data['manage']['scmNo'])); | |
| gd_isset($data['basic']['deliveryConfigType'], 'all'); | |
| $checked['dmVisitAddressUseFl'][$data['basic']['dmVisitAddressUseFl']] = | |
| $checked['rangeRepeat'][$data['basic']['rangeRepeat']] = | |
| $checked['addGoodsCountInclude'][$data['basic']['addGoodsCountInclude']] = | |
| $checked['areaChargeRepeatFl'][$data['basic']['areaChargeRepeatFl']] = | |
| $checked['deliveryConfigType'][$data['basic']['deliveryConfigType']] = 'checked="checked"'; | |
| //배송 방식 | |
변경 전layer.css
| #wrap .ly_wrap.delivery_layer{width:305px; top:0px; left:-219px;} | |
| /* 지역별추가배송비 레이어 */ | |
| #wrap .ly_wrap.delivery_zone_layer{width:305px; top:0px; left:-94px;} | |
| .delivery_zone_layer .delivery_list{overflow-y:scroll; max-height:200px;} | |
| /* 배송비 레잉어 공통 영역 */ | |
| .ly_wrap .delivery_list ul{border-bottom:1px solid #e8e8e8;} | |
| .ly_wrap .delivery_list ul li{padding:10px 5px 10px 5px; font-weight:bold; border-top:1px solid #e8e8e8;} | |
변경 후layer.css
| #wrap .ly_wrap.delivery_layer{width:305px; top:0px; left:-219px;} | |
| /* 지역별추가배송비 레이어 */ | |
| #wrap .ly_wrap.delivery_zone_layer{width:305px; top:0px; left:-94px;} | |
| .delivery_zone_layer .delivery_list{overflow-y:auto; max-height:200px;} | |
| /* 배송비 레잉어 공통 영역 */ | |
| .ly_wrap .delivery_list ul{border-bottom:1px solid #e8e8e8;} | |
| .ly_wrap .delivery_list ul li{padding:10px 5px 10px 5px; font-weight:bold; border-top:1px solid #e8e8e8;} | |
변경 전goods_view.html
| <!--{ / }--> | |
| </ul> | |
| </div> | |
| </div> | |
| <!-- //ly_cont --> | |
| <a href="#close" class="ly_close"><img src="../img/common/layer/btn_layer_close.png" alt="{=__('닫기')}"></a> | |
변경 후goods_view.html
| <!--{ / }--> | |
| </ul> | |
| </div> | |
| <!--{ ? goodsView['delivery']['basic']['areaChargeRepeatFl'] == 'y' }--> | |
| <!--{ ? goodsView['delivery']['basic']['fixFl'] == 'count' }--> | |
| <p class="chk_none">{=__('주문 수량이 속한 배송비 구간 수만큼, 지역별추가배송비가 반복 부과됩니다.')}</p> | |
| <!--{ : goodsView['delivery']['basic']['fixFl'] == 'weight' }--> | |
| <p class="chk_none">{=__('주문 무게가 속한 배송비 구간 수만큼, 지역별추가배송비가 반복 부과됩니다.')}</p> | |
| <!--{ / }--> | |
| <!--{ / }--> | |
| </div> | |
| <!-- //ly_cont --> | |
| <a href="#close" class="ly_close"><img src="../img/common/layer/btn_layer_close.png" alt="{=__('닫기')}"></a> | |
변경 전layer_option.html
| <!--{ / }--> | |
| </ul> | |
| </div> | |
| </div> | |
| <!-- //ly_cont --> | |
| <a href="#close" class="ly_close"><img src="../img/common/layer/btn_layer_close.png" alt="{=__('닫기')}"></a> | |
변경 후layer_option.html
| <!--{ / }--> | |
| </ul> | |
| </div> | |
| <!--{ ? goodsView['delivery']['basic']['areaChargeRepeatFl'] == 'y' }--> | |
| <!--{ ? goodsView['delivery']['basic']['fixFl'] == 'count' }--> | |
| <p class="chk_none">{=__('주문 수량이 속한 배송비 구간 수만큼, 지역별추가배송비가 반복 부과됩니다.')}</p> | |
| <!--{ : goodsView['delivery']['basic']['fixFl'] == 'weight' }--> | |
| <p class="chk_none">{=__('주문 무게가 속한 배송비 구간 수만큼, 지역별추가배송비가 반복 부과됩니다.')}</p> | |
| <!--{ / }--> | |
| <!--{ / }--> | |
| </div> | |
| <!-- //ly_cont --> | |
| <a href="#close" class="ly_close"><img src="../img/common/layer/btn_layer_close.png" alt="{=__('닫기')}"></a> | |
변경 전layer.css
| } | |
| .delivery_zone_layer .delivery_list { | |
| overflow-y: scroll; | |
| max-height: 200px; | |
| } | |
| /* 배송비 레잉어 공통 영역 */ | |
| .ly_wrap .delivery_list ul { | |
| border-bottom: 1px solid #e8e8e8; | |
변경 후layer.css
| } | |
| .delivery_zone_layer .delivery_list { | |
| overflow-y: auto; | |
| max-height: 200px; | |
| } | |
| .delivery_zone_layer .chk_none { | |
| padding: 5px 0 5px 19px; | |
| background-image: url('../../../img/icon/etc/icon_warning_green.svg'); | |
| } | |
| /* 배송비 레잉어 공통 영역 */ | |
| .ly_wrap .delivery_list ul { | |
| border-bottom: 1px solid #e8e8e8; | |
변경 전goods_view.html
| <!--{ / }--> | |
| </ul> | |
| </div> | |
| </div> | |
| <!-- //ly_cont --> | |
| <a href="#close" class="ly_close"><img src="../img/common/layer/btn_layer_close.png" alt="{=__('닫기')}"></a> | |
변경 후goods_view.html
| <!--{ / }--> | |
| </ul> | |
| </div> | |
| <!--{ ? goodsView['delivery']['basic']['areaChargeRepeatFl'] == 'y' }--> | |
| <!--{ ? goodsView['delivery']['basic']['fixFl'] == 'count' }--> | |
| <p class="chk_none">{=__('주문 수량이 속한 배송비 구간 수만큼, 지역별추가배송비가 반복 부과됩니다.')}</p> | |
| <!--{ : goodsView['delivery']['basic']['fixFl'] == 'weight' }--> | |
| <p class="chk_none">{=__('주문 무게가 속한 배송비 구간 수만큼, 지역별추가배송비가 반복 부과됩니다.')}</p> | |
| <!--{ / }--> | |
| <!--{ / }--> | |
| </div> | |
| <!-- //ly_cont --> | |
| <a href="#close" class="ly_close"><img src="../img/common/layer/btn_layer_close.png" alt="{=__('닫기')}"></a> | |
변경 전layer_option.html
| <!--{ / }--> | |
| </ul> | |
| </div> | |
| </div> | |
| <!-- //ly_cont --> | |
| <a href="#close" class="ly_close"><img src="../img/common/layer/btn_layer_close.png" alt="{=__('닫기')}"></a> | |
변경 후layer_option.html
| <!--{ / }--> | |
| </ul> | |
| </div> | |
| <!--{ ? goodsView['delivery']['basic']['areaChargeRepeatFl'] == 'y' }--> | |
| <!--{ ? goodsView['delivery']['basic']['fixFl'] == 'count' }--> | |
| <p class="chk_none">{=__('주문 수량이 속한 배송비 구간 수만큼, 지역별추가배송비가 반복 부과됩니다.')}</p> | |
| <!--{ : goodsView['delivery']['basic']['fixFl'] == 'weight' }--> | |
| <p class="chk_none">{=__('주문 무게가 속한 배송비 구간 수만큼, 지역별추가배송비가 반복 부과됩니다.')}</p> | |
| <!--{ / }--> | |
| <!--{ / }--> | |
| </div> | |
| <!-- //ly_cont --> | |
| <a href="#close" class="ly_close"><img src="../img/common/layer/btn_layer_close.png" alt="{=__('닫기')}"></a> | |
변경 전icon_warning_green.svg
변경 후icon_warning_green.svg
| <svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> | |
| <rect x="0.5" y="0.5" width="13" height="13" rx="6.5" stroke="#0cc472"/> | |
| <path d="M4.4541 7.51363V6.36328H9.54501V7.51363H4.4541Z" fill="white"/> | |
| <path d="M7.91618 3L7.76051 8.53342H6.22775L6.07208 3H7.91618ZM6.00023 10.0832C5.98826 9.58117 6.44329 9.1719 7.0061 9.17735C7.53898 9.1719 8 9.58117 8 10.0832C8 10.5907 7.53898 11 7.0061 11C6.44329 11 5.98826 10.5907 6.00023 10.0832Z" fill="#0cc472"/> | |
| </svg> | |
변경 전gd_share.css
| border: 1px solid #555; | |
| } | |
| .goods-view .goods .info .item ul li.delivery .delivery-layer .wrap > strong, | |
| .option-layer .view .content-section .list .delivery-layer .wrap > strong { | |
| display: block; | |
변경 후gd_share.css
| border: 1px solid #555; | |
| } | |
| .goods-view .goods .info .item ul li.delivery .delivery-layer.delivery-area, | |
| .option-layer .view .content-section .list .delivery-layer.delivery-area { | |
| height: auto; | |
| } | |
| .goods-view .goods .info .item ul li.delivery .delivery-layer.delivery-area .wrap, | |
| .option-layer .view .content-section .list .delivery-layer.delivery-area .wrap { | |
| height: auto; | |
| padding-bottom: 9px; | |
| } | |
| .goods-view .goods .info .item ul li.delivery .delivery-layer.delivery-area .wrap div, | |
| .option-layer .view .content-section .list .delivery-layer.delivery-area .wrap div { | |
| height: auto; | |
| max-height: 219px; | |
| } | |
| .goods-view .goods .info .item ul li.delivery .delivery-layer.delivery-area .wrap .caution-msg1, | |
| .option-layer .view .content-section .list .delivery-layer.delivery-area .wrap .caution-msg1 { | |
| margin: 12px 9px 3px 19px; | |
| } | |
| .goods-view .goods .info .item ul li.delivery .delivery-layer .wrap > strong, | |
| .option-layer .view .content-section .list .delivery-layer .wrap > strong { | |
| display: block; | |
변경 전goods_view.html
| <!--{ / }--> | |
| </table> | |
| </div> | |
| <button type="button" class="close target-delivery-area" title="{=__('닫기')}">{=__('닫기')}</button> | |
| </div> | |
| </div> | |
변경 후goods_view.html
| <!--{ / }--> | |
| </table> | |
| </div> | |
| <!--{ ? goodsView['delivery']['basic']['areaChargeRepeatFl'] == 'y' }--> | |
| <!--{ ? goodsView['delivery']['basic']['fixFl'] == 'count' }--> | |
| <p class="caution-msg1">{=__('주문 수량이 속한 배송비 구간 수만큼, 지역별추가배송비가 반복 부과됩니다.')}</p> | |
| <!--{ : goodsView['delivery']['basic']['fixFl'] == 'weight' }--> | |
| <p class="caution-msg1">{=__('주문 무게가 속한 배송비 구간 수만큼, 지역별추가배송비가 반복 부과됩니다.')}</p> | |
| <!--{ / }--> | |
| <!--{ / }--> | |
| <button type="button" class="close target-delivery-area" title="{=__('닫기')}">{=__('닫기')}</button> | |
| </div> | |
| </div> | |
변경 전layer_option.html
| <!--{ / }--> | |
| </table> | |
| </div> | |
| <button type="button" class="target-delivery-area" title="{=__('닫기')}">{=__('닫기')}</button> | |
| </div> | |
| </div> | |
변경 후layer_option.html
| <!--{ / }--> | |
| </table> | |
| </div> | |
| <!--{ ? goodsView['delivery']['basic']['areaChargeRepeatFl'] == 'y' }--> | |
| <!--{ ? goodsView['delivery']['basic']['fixFl'] == 'count' }--> | |
| <p class="caution-msg1">{=__('주문 수량이 속한 배송비 구간 수만큼, 지역별추가배송비가 반복 부과됩니다.')}</p> | |
| <!--{ : goodsView['delivery']['basic']['fixFl'] == 'weight' }--> | |
| <p class="caution-msg1">{=__('주문 무게가 속한 배송비 구간 수만큼, 지역별추가배송비가 반복 부과됩니다.')}</p> | |
| <!--{ / }--> | |
| <!--{ / }--> | |
| <button type="button" class="target-delivery-area" title="{=__('닫기')}">{=__('닫기')}</button> | |
| </div> | |
| </div> | |
변경 전goods_view.html
| <!--{ / }--> | |
| </tbody> | |
| </table> | |
| </div> | |
| </div> | |
| </div> | |
변경 후goods_view.html
| <!--{ / }--> | |
| </tbody> | |
| </table> | |
| <!--{ ? goodsView['delivery']['basic']['areaChargeRepeatFl'] == 'y' }--> | |
| <!--{ ? goodsView['delivery']['basic']['fixFl'] == 'count' }--> | |
| <p style="margin:8px 0 0;padding:5px 10px;color:#ab3e55;font-size:12px;line-height:1.4;">※ {=__('주문 수량이 속한 배송비 구간 수만큼, 지역별추가배송비가 반복 부과됩니다.')}</p> | |
| <!--{ : goodsView['delivery']['basic']['fixFl'] == 'weight' }--> | |
| <p style="margin:8px 0 0;padding:5px 10px;color:#ab3e55;font-size:12px;line-height:1.4;">※ {=__('주문 무게가 속한 배송비 구간 수만큼, 지역별추가배송비가 반복 부과됩니다.')}</p> | |
| <!--{ / }--> | |
| <!--{ / }--> | |
| </div> | |
| </div> | |
| </div> | |
변경 전goods_view.html
| <!--{ / }--> | |
| </tbody> | |
| </table> | |
| </div> | |
| </div> | |
| </div> | |
변경 후goods_view.html
| <!--{ / }--> | |
| </tbody> | |
| </table> | |
| <!--{ ? goodsView['delivery']['basic']['areaChargeRepeatFl'] == 'y' }--> | |
| <!--{ ? goodsView['delivery']['basic']['fixFl'] == 'count' }--> | |
| <p style="margin:8px 0 0;padding:5px 10px;color:#ab3e55;font-size:12px;line-height:1.4;">※ {=__('주문 수량이 속한 배송비 구간 수만큼, 지역별추가배송비가 반복 부과됩니다.')}</p> | |
| <!--{ : goodsView['delivery']['basic']['fixFl'] == 'weight' }--> | |
| <p style="margin:8px 0 0;padding:5px 10px;color:#ab3e55;font-size:12px;line-height:1.4;">※ {=__('주문 무게가 속한 배송비 구간 수만큼, 지역별추가배송비가 반복 부과됩니다.')}</p> | |
| <!--{ / }--> | |
| <!--{ / }--> | |
| </div> | |
| </div> | |
| </div> | |
변경 전goods_view.html
| <!--{ / }--> | |
| </tbody> | |
| </table> | |
| </div> | |
| </div> | |
| </div> | |
변경 후goods_view.html
| <!--{ / }--> | |
| </tbody> | |
| </table> | |
| <!--{ ? goodsView['delivery']['basic']['areaChargeRepeatFl'] == 'y' }--> | |
| <!--{ ? goodsView['delivery']['basic']['fixFl'] == 'count' }--> | |
| <p style="margin:8px 0 0;padding:5px 10px;color:#ab3e55;font-size:12px;line-height:1.4;">※ {=__('주문 수량이 속한 배송비 구간 수만큼, 지역별추가배송비가 반복 부과됩니다.')}</p> | |
| <!--{ : goodsView['delivery']['basic']['fixFl'] == 'weight' }--> | |
| <p style="margin:8px 0 0;padding:5px 10px;color:#ab3e55;font-size:12px;line-height:1.4;">※ {=__('주문 무게가 속한 배송비 구간 수만큼, 지역별추가배송비가 반복 부과됩니다.')}</p> | |
| <!--{ / }--> | |
| <!--{ / }--> | |
| </div> | |
| </div> | |
| </div> | |