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

배송 택배 비용 별도 (특정물품만 개별 변경가능) /2013-10-28 수정

· 12년 전 · 312 · 8
2013년 10월 26일 영카트 버전으로 수정했습니다...
간단하게 만들어는데  버그발견시  리자님한테 부탁하세요 ;;;
 
첨부파일 영카트 설치 버전에 붙어넣기하면 끝~~~~
 
000.jpg
 
 
 
 

001.jpg

002.jpg

추가한 내용
itemform.php
//DB추가
        sql_query(" ALTER TABLE `$g4[yc4_item_table]` ADD `it_send_method` VARCHAR( 255 ) NOT NULL AFTER `it_ip`  ", FALSE);
        sql_query(" ALTER TABLE `$g4[yc4_item_table]` ADD `it_send_cost` INT NOT NULL AFTER `it_send_method` ", FALSE);
        sql_query(" ALTER TABLE `$g4[yc4_cart_table]` ADD `ct_send_method` VARCHAR( 255 ) NOT NULL AFTER `ct_ip` ", FALSE);
        $result = sql_query(" ALTER TABLE `$g4[yc4_cart_table]` ADD `ct_send_cost` INT NOT NULL ", FALSE);
        if (!$result) {
            sql_query(" ALTER TABLE `$g4[yc4_cart_table]` CHANGE `ct_send_cost` `ct_send_cost` INT NOT NULL ", FALSE);
        }
 
 
303번째줄
<tr class=ht>
    <td>배송비유형</td>
    <td colspan=3>
       <select name="it_send_method" required itemname="배송비">
        <option value="0">기본유형</option>
        <option value="1">택배비적용</option>
       </select>
        <?=help("기본유형 : 쇼핑몰기본 택배비 적용, 택배비적용 : 택배비 입력에 적용.");?>
        <span id="send_cost" style="display:none;margin-left:20px;">
        /배송비 <input type="text" name="it_send_cost" class="ed" size="5" maxlength="5" value="<?=$it[it_send_cost]?>">원
        <?=help("초기설정 배송비는 배송비의 첫번째 값입니다., 원하는 택배비용을 입력해주세요.");?>
        </span>
   <script>
   $(function() {
      $("[name=it_send_method]").change(function() {
        if (this.value == "0") {
            $("#send_cost").hide();
        } else {
            $("#send_cost").show();
        }
     })
     .val("<?=$it[it_send_method]?>") // 초기값
     .keyup(function() { $(this).change(); }) // 키보드로 변경시
     .trigger("change"); // 로딩될때
   });
   </script>
    </td>
</tr>
 
itemformupdate.php
284번째줄
                it_send_method   = '$it_send_method',
                it_send_cost     = '$it_send_cost',
 
 
cartsub.inc.php
61번째줄
                a.ct_send_method,
                a.ct_send_cost,
 
104번째줄
    //특별배송비
    if($row[ct_send_method] > 0)  {
     $ct_send_method = $row[ct_send_method];
     $ct_send_method_list[$i] = $ct_send_method;
     $ct_send_cost_list[$i] = $row[ct_send_cost] * $row[ct_qty];
     $ct_send_cost += $ct_send_cost_list[$i];
     }
 
 
187번째줄
      // 배송비가 넘어왔다면
    //echo (int)$_POST[od_send_cost];
     if ($_POST[od_send_cost]) {
         $send_cost = (int)$_POST[od_send_cost];
     } else {
         // 배송비 계산
         if ($default[de_send_cost_case] == "없음")
             $send_cost = 0;
         else {
      //특별배송비
        if($ct_send_method > 0) {
       $send_cost =$ct_send_cost + $send_cost;
       $ct_send_cost ='';
      }
      else {
             // 배송비 상한 : 여러단계의 배송비 적용 가능
             $send_cost_limit = explode(";", $default[de_send_cost_limit]);
             $send_cost_list  = explode(";", $default[de_send_cost_list]);
             $send_cost = 0;
             for ($k=0; $k<count($send_cost_limit); $k++) {
                 // 총판매금액이 배송비 상한가 보다 작다면
                 if ($tot_sell_amount < $send_cost_limit[$k]) {
                     $send_cost = $send_cost_list[$k];
                     break;
                 }
             }
      }
        }  
cartupdate.php
 
136번째줄
                        ct_send_method='($_POST[ct_send_method][$i]}',
                        ct_send_cost = '{$_POST[ct_send_amount][$i]}',
 
248번째줄
                    ct_send_cost = '$_POST[ct_send_amount]',
                    ct_send_method= '$_POST[ct_send_method]',
 
item.php
145번째줄
<input type=hidden name=ct_send_method value='<?=$it[it_send_method]?>'>
 
283번째줄
<?if($it[it_send_method] > 0) {?>
                <!-- 배송비 -->
                <tr height=25>
                    <td>    · 배송비용</td>
                    <td align=center>:</td>
                    <td><input type=text name=ct_send_cost_amount size=12 style='text-align:right; border:none; border-width:0px; font-weight:bold; width:80px; font-family:Tahoma;' class=amount readonly> 원
                        <input type=hidden name=ct_send_amount value='0'></td>
                </tr>
                <tr><td colspan=3 height=1 background='<?=$g4[shop_img_path]?>/dot_line.gif'></td></tr>
        <!-- 배송비 끝-->
<?}?>
 
600번째줄
<?if($it[it_send_method] > 0) {?>
<!--배송비용 -->
  var basic_send_cost_amount = parseInt('<?=$it[it_send_cost]?>');
  
    if (typeof(f.ct_send_amount) != 'undefined')
        f.ct_send_amount.value = basic_send_cost_amount;
       
    if (typeof(f.ct_send_cost_amount) != 'undefined')
        f.ct_send_cost_amount.value = number_format(String(basic_send_cost_amount * ct_qty));
<!--배송비용 끝-->       
<?}?>
 
 
2013-10-30 추가/
 
orderformupdate.php
//주석처리
//if ((int)$send_cost !== $i_send_cost) {
//    die("Error..");
//}
 
주석처리에 대한 리자님이 의견입니다...
vv1.jpg
===============================================================
 

댓글 작성

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

로그인하기

댓글 8개

감사합니다..
12년 전
좋네요. 적용해 봐야 겠어요..
12년 전
상한가 적용 여부는 어떻게 되는지요. 적용시 상한가 자동 비적용되나요?
동영상 본게 다 입니다.

기능 많은걸 찾는다면
http://sir.co.kr/bbs/board.php?bo_table=yc4_tiptech&wr_id=1343&sca=&sfl=wr_subject%7C%7Cwr_content&stx=%EB%B0%B0%EC%86%A1

리자님이 만든걸 수정해보세요
12년 전
묶음배송 적용은 안되는 건가요?
개별입니다.

특정 물품만 배송비 적용하고싶을때 사용할려고 만든거고요
예를 들면 가격은 만원인데 물건 100kg 이라면 택배비용이 만원정도할때 그때 사용하면 좋쵸
그리고 만원짜리 물건 0.5kg 짜리 추가하면 이건 쇼핑몰 기본설정(3,000)한걸루 적용하고요

물건 100Kg 택배비 만원, 그리고 물건 0.5kg 해서 만원플러스 기본쇼핑몰 택배비 적용 (택배비용 13,000원)되도록 만들었습니다.

묶음 배송할려면 조금 수정해야하면 될거 같은데요

$send_cost =$ct_send_cost + $send_cost;
이부분을
$send_cost =$ct_send_cost;

이런식으로 하면되지 안을까요?? 그냥 생각만..
아주 편리한 기능같습니다.
배송비 기본유형은 상한제 적용한 기본 설정값이 그대로 적용되고,
배송비 선택하면 그 값이 적용되는 것인가요?
제가 찾던 기능같은데,
orderformupdate.php가 있는걸 보니 KCP버전인것 같아 아직 적용해보진 못했습니다.
일반버전(EUC-KR)에 적용가능한지 궁금합니다.
첨부파일은 utf8입니다.

저걸 EUC-KR 변환하셔도 되고 아니면 위 소스를 가지고 있는 영카트 수정해도 되고요 수정이 편할거 같은데요

게시글 목록

번호 제목
1790
1788
1786
1782
1780
1778
1767
1762
1754
1748
1739
1736
1735
1731
1717
1712
1704
1700
1696
1682