옵션부분 처리방법 해결 좀 부탁합니다.

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
옵션부분 처리방법 해결 좀 부탁합니다.

QA

옵션부분 처리방법 해결 좀 부탁합니다.

본문

06353607f0581ec44cdd17e907f96b25_1498700284_3071.jpg
이렇게 해야하는 상황이 와서요...


소스를 뒤져보니 skin\apms\item\shop\item.skin.php 이곳에서 처리하는것 같고...

254번 줄 사이에 값을 넣으면 되는것 같은데... 계산식은 전혀 몰라서 어떻게 해줘야 하는지 알려주셨으면 합니다.


파도파도 어렵다 느껴지기도 하네여.. 공부는 되는데.....ㅠㅠ


이 질문에 댓글 쓰기 :

답변 3

소스가 보아하니 자바스크립트로 된듯 한데 소스를 보여주시던지 하셔야 코치가 가능할듯 보여집니다.

옵션을 선택시 자바스크립트 호출해서 하단 레이어 반영처리 하고 그에 따른 가격 반영되도록 처리해 주셔야할듯 보입니다. 현재는 옵션에 따른 onChange 이벤트 반영후 그에따른 옵션 반영되도록 변형해 주셔야 할듯 싶고요 전체적인 소스를 다 고치기에는 힘들듯 하여 방법을 설명드립니다.

말씀의 의도는 알겠지만 문제는 함수를 제가 제대로 정의를 내리지 못하는 문제가 있어서... 그래서 어떻게 할지 좀 난감해서 질문을 올린것입니다.

옵션관련 전체 소스코드 입니다. 잘 부탁드립니다.


   <?php } ?>
   <?php if($it['it_buy_min_qty']) { ?>
    <tr><th>최소구매수량</th><td><?php echo number_format($it['it_buy_min_qty']); ?> 개</td></tr>
   <?php } ?>
   <?php if($it['it_buy_max_qty']) { ?>
    <tr><th>최대구매수량</th><td><?php echo number_format($it['it_buy_max_qty']); ?> 개</td></tr>
   <?php } ?>
   <?php
    $ct_send_cost_label = '배송비결제';
    if($it['it_sc_type'] == 1)
     $sc_method = '무료배송';
    else {
     if($it['it_sc_method'] == 1)
      $sc_method = '수령후 지불';
     else if($it['it_sc_method'] == 2) {
      $ct_send_cost_label = '<label for="ct_send_cost">배송비결제</label>';
      $sc_method = '<select name="ct_send_cost" id="ct_send_cost" class="form-control input-sm">
            <option value="0">주문시 결제</option>
            <option value="1">수령후 지불</option>
           </select>';
     }
     else
      $sc_method = '주문시 결제';
    }
   ?>
   <tr>
    <th><?php echo $ct_send_cost_label; ?></th><td><?php echo $sc_method; ?></td>
   </tr>
   </tbody>
   </table>
   <div id="item_option">
    <?php if($option_item) { ?>
     <p>  <b><i class="fa fa-check-square-o fa-lg"></i> 선택옵션</b></p>
     <table class="div-table table">
     <col width="120">
     <tbody>
     <?php echo $option_item; // 선택옵션 ?>
     </tbody>
     </table>
    <?php } ?>
    <?php if($supply_item) { ?>
     <p>  <b><i class="fa fa-check-square-o fa-lg"></i> 추가옵션</b></p>
     <table class="div-table table">
     <col width="120">
     <tbody>
     <?php echo $supply_item; // 추가옵션 ?>
     </tbody>
     </table>
    <?php } ?>
    <?php if ($is_orderable) { ?>
     <div id="it_sel_option">
      <?php
      if(!$option_item) {
       if(!$it['it_buy_min_qty'])
        $it['it_buy_min_qty'] = 1;
      ?>
       <ul id="it_opt_added" class="list-group">
        <li class="it_opt_list list-group-item">
         <input type="hidden" name="io_type[<?php echo $it_id; ?>][]" value="0">
         <input type="hidden" name="io_id[<?php echo $it_id; ?>][]" value="">
         <input type="hidden" name="io_value[<?php echo $it_id; ?>][]" value="<?php echo $it['it_name']; ?>">
         <input type="hidden" class="io_price" value="0">
         <input type="hidden" class="io_stock" value="<?php echo $it['it_stock_qty']; ?>">
         <div class="row">
          <div class="col-sm-7">
           <label>
            <span class="it_opt_subj"><?php echo $it['it_name']; ?></span><br>
            <span class="it_opt_prc"><span class="sound_only">(+0원)</span></span>
           </label>
          </div>
          <div class="col-sm-5">
           <div class="input-group">
            <label for="ct_qty_<?php echo $i; ?>" class="sound_only">수량</label>
            <input type="text" name="ct_qty[<?php echo $it_id; ?>][]" value="<?php echo $it['it_buy_min_qty']; ?>" id="ct_qty_<?php echo $i; ?>" class="form-control input-sm" size="5">
            <div class="input-group-btn">
             <button type="button" class="it_qty_plus btn btn-lightgray btn-sm"><i class="fa fa-plus-circle fa-lg"></i><span class="sound_only">증가</span></button>
             <button type="button" class="it_qty_minus btn btn-lightgray btn-sm"><i class="fa fa-minus-circle fa-lg"></i><span class="sound_only">감소</span></button>
            </div>
           </div>
          </div>
         </div>
         <?php if($it['pt_msg1']) { ?>
          <div style="margin-top:10px;">
           <input type="text" name="pt_msg1[<?php echo $it_id; ?>][]" class="form-control input-sm" placeholder="<?php echo $it['pt_msg1'];?>">
          </div>
         <?php } ?>
         <?php if($it['pt_msg2']) { ?>
          <div style="margin-top:10px;">
           <input type="text" name="pt_msg2[<?php echo $it_id; ?>][]" class="form-control input-sm" placeholder="<?php echo $it['pt_msg2'];?>">
          </div>
         <?php } ?>
         <?php if($it['pt_msg3']) { ?>
          <div style="margin-top:10px;">
           <input type="text" name="pt_msg3[<?php echo $it_id; ?>][]" class="form-control input-sm" placeholder="<?php echo $it['pt_msg3'];?>">
          </div>
         <?php } ?>
         <?php echo get_price($it); ?>
        </li>
       </ul>
       <script>
       $(function() {
        price_calculate();
       });
       </script>
      <?php } ?>
     </div>
     <!-- 총 구매액 -->
     <h4 style="text-align:center; margin-bottom:15px;">
      <font color="red"><b>총 금액 : <span id="it_tot_price">0원</b></font></span>
      <!--<br><font size="3pt" color="blue">(부가세 미포함 가격입니다.)</font>-->
     </h4>
    <?php } ?>
   </div>
   <?php if($is_soldout) { ?>
    <p id="sit_ov_soldout">재고가 부족하여 구매할 수 없습니다.</p>
   <?php } ?>
   <?php if ($is_orderable) { ?>
    <div style="text-align:center; padding:12px 0;">
     <ul class="item-buy-btn">
     <li><input type="submit" onclick="document.pressed=this.value;" value="바로구매" class="btn btn-<?php echo $btn2;?> btn-block"></li>
     <li><input type="submit" onclick="document.pressed=this.value;" value="장바구니" class="btn btn-<?php echo $btn1;?> btn-block"></li>
     <li><a href="#" class="btn btn-<?php echo $btn1;?> btn-block" onclick="apms_wishlist('<?php echo $it['it_id']; ?>'); return false;">위시리스트</a></li>
     <li><a href="#" class="btn btn-<?php echo $btn1;?> btn-block" onclick="apms_recommend('<?php echo $it['it_id']; ?>', '<?php echo $ca_id; ?>'); return false;">추천하기</a></li>
     </ul>
    </div>
    <?php if ($naverpay_button_js) { ?>
     <div style="margin-bottom:15px;"><?php echo $naverpay_request_js.$naverpay_button_js; ?></div>
    <?php } ?>
   <?php } ?>
   <?php if(!$is_orderable && $it['it_soldout'] && $it['it_stock_sms']) { ?>
    <div style="text-align:center; padding:12px 0;">
     <button type="button" onclick="popup_stocksms('<?php echo $it['it_id']; ?>','<?php echo $ca_id; ?>');" class="btn btn-primary">재입고알림(SMS)</button>
    </div>
   <?php } ?>
   </form>
   <script>
    // BS3
    $(function() {
     $("select.it_option").addClass("form-control input-sm");
     $("select.it_supply").addClass("form-control input-sm");
    });
    // 재입고SMS 알림
    function popup_stocksms(it_id, ca_id) {
     url = "./itemstocksms.php?it_id=" + it_id + "&ca_id=" + ca_id;
     opt = "scrollbars=yes,width=616,height=420,top=10,left=10";
     popup_window(url, "itemstocksms", opt);
    }
    // 바로구매, 장바구니 폼 전송
    function fitem_submit(f) {
     if (document.pressed == "장바구니") {
      f.sw_direct.value = 0;
     } else { // 바로구매
      f.sw_direct.value = 1;
     }
     // 판매가격이 0 보다 작다면
     if (document.getElementById("it_price").value < 0) {
      alert("전화로 문의해 주시면 감사하겠습니다.");
      return false;
     }
     if($(".it_opt_list").size() < 1) {
      alert("선택옵션을 선택해 주십시오.");
      return false;
     }
     var val, io_type, result = true;
     var sum_qty = 0;
     var min_qty = parseInt(<?php echo $it['it_buy_min_qty']; ?>);
     var max_qty = parseInt(<?php echo $it['it_buy_max_qty']; ?>);
     var $el_type = $("input[name^=io_type]");
     $("input[name^=ct_qty]").each(function(index) {
      val = $(this).val();
      if(val.length < 1) {
       alert("수량을 입력해 주십시오.");
       result = false;
       return false;
      }
      if(val.replace(/[0-9]/g, "").length > 0) {
       alert("수량은 숫자로 입력해 주십시오.");
       result = false;
       return false;
      }
      if(parseInt(val.replace(/[^0-9]/g, "")) < 1) {
       alert("수량은 1이상 입력해 주십시오.");
       result = false;
       return false;
      }
      io_type = $el_type.eq(index).val();
      if(io_type == "0")
       sum_qty += parseInt(val);
     });
     if(!result) {
      return false;
     }
     if(min_qty > 0 && sum_qty < min_qty) {
      alert("선택옵션 개수 총합 "+number_format(String(min_qty))+"개 이상 주문해 주십시오.");
      return false;
     }
     if(max_qty > 0 && sum_qty > max_qty) {
      alert("선택옵션 개수 총합 "+number_format(String(max_qty))+"개 이하로 주문해 주십시오.");
      return false;
     }
     if (document.pressed == "장바구니") {
      $.post("./itemcart.php", $(f).serialize(), function(error) {
       if(error != "OK") {
        alert(error.replace(/\\n/g, "\n"));
        return false;
       } else {
        if(confirm("장바구니에 담겼습니다.\n\n바로 확인하시겠습니까?")) {
         document.location.href = "./cart.php";
        }
       }
      });
      return false;
     } else {
      return true;
     }
    }
    // Wishlist
    function apms_wishlist(it_id) {
     if(!it_id) {
      alert("코드가 올바르지 않습니다.");
      return false;
     }
     $.post("./itemwishlist.php", { it_id: it_id }, function(error) {
      if(error != "OK") {
       alert(error.replace(/\\n/g, "\n"));
       return false;
      } else {
       if(confirm("위시리스트에 담겼습니다.\n\n바로 확인하시겠습니까?")) {
        document.location.href = "./wishlist.php";
       }
      }
     });
     return false;
    }
    // Recommend
    function apms_recommend(it_id, ca_id) {
     if (!g5_is_member) {
      alert("회원만 추천하실 수 있습니다.");
     } else {
      url = "./itemrecommend.php?it_id=" + it_id + "&ca_id=" + ca_id;
      opt = "scrollbars=yes,width=616,height=420,top=10,left=10";
      popup_window(url, "itemrecommend", opt);
     }
    }
   </script>
   <div class="pull-right">
    <?php include_once(G5_SNS_PATH."/item.sns.skin.php"); ?>
   </div>
   <div class="clearfix"></div>
   <?php if ($is_tag) { // 태그 ?>
    <p class="item-tag"><i class="fa fa-tags"></i> <?php echo $tag_list;?></p>
   <?php } ?>
  </div>
 </div>
</div>
 

답변을 작성하시기 전에 로그인 해주세요.
전체 124,421 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT