[영카트] 옵션 디자인 변경

[영카트] 옵션 디자인 변경

QA

[영카트] 옵션 디자인 변경

본문

2039417012_1653561149.8108.png

 

추가옵션의 형태를 커스텀 하려고 합니다

lib/shop.lib.php 의 "옵션항목 만들기" 에서 수정하면 될것으로 생각했는데

변경해도 원하는 결과가 도출되지 않네요.

- , + 표시를 제어하려고 합니다, 즉 회원레벨에 따라서 - , + 가 표시여부를 설정하려 하는데

이것에 대한 조언 부탁드립니다

이 질문에 댓글 쓰기 :

답변 3

/js/shop.js  에보시면  -, + 버튼에 대한 funciton이 있습니다

 

- 버튼과 + 버튼의 span 테그 안쪽에 보시면 감소, 증가 단어로 span 테그로 감사고 있습니다.

버튼을 클릭 할때 해당 문자를 event로 태워서 switch 에서 mode로 구분하여 script로 처리 합니다.

해당 내용을 아래에 공유하오니 참고 하시어 도움이 되었으면 합니다.

 


// 수량변경 및 삭제
$(document).on("click", "#sit_sel_option li button", function() {
        var $this = $(this),
                mode = $this.text(),
                this_qty, max_qty = 9999, min_qty = 1,
                $el_qty = $(this).closest("li").find("input[name^=ct_qty]"),
                stock = parseInt($(this).closest("li").find("input.io_stock").val());
        switch(mode) {
                case "증가":
                        this_qty = parseInt($el_qty.val().replace(/[^0-9]/, "")) + 1;
                        if(this_qty > stock) {
                                alert("재고수량 보다 많은 수량을 구매할 수 없습니다.");
                                this_qty = stock;
                        }
                        if(this_qty > max_qty) {
                                this_qty = max_qty;
                                alert("최대 구매수량은 "+number_format(String(max_qty))+" 입니다.");
                        }
                        $el_qty.val(this_qty);
                        $this.trigger("sit_sel_option_success", [$this, mode, this_qty]);
                        price_calculate();
                        break;
                case "감소":
                        this_qty = parseInt($el_qty.val().replace(/[^0-9]/, "")) - 1;
                        if(this_qty < min_qty) {
                                this_qty = min_qty;
                                alert("최소 구매수량은 "+number_format(String(min_qty))+" 입니다.");
                        }
                        $el_qty.val(this_qty);
                        $this.trigger("sit_sel_option_success", [$this, mode, this_qty]);
                        price_calculate();
                        break;
                case "삭제":
                        if(confirm("선택하신 옵션항목을 삭제하시겠습니까?")) {
                                var $el = $(this).closest("li");
                                var del_exec = true;
                                if($("#sit_sel_option .sit_spl_list").length > 0) {
                                        // 선택옵션이 하나이상인지
                                        if($el.hasClass("sit_opt_list")) {
                                                if($(".sit_opt_list").length <= 1)
                                                        del_exec = false;
                                        }
                                }
                                if(del_exec) {
                                        // 지우기전에 호출해야 trigger 를 호출해야 합니다.
                                        $this.trigger("sit_sel_option_success", [$this, mode, ""]);
                                        $el.closest("li").remove();
                                        price_calculate();
                                } else {
                                        alert("선택옵션은 하나이상이어야 합니다.");
                                        return false;
                                }
                        }
                        break;
                default:
                        alert("올바른 방법으로 이용해 주십시오.");
                        break;
        }
});
 

 

해당 코드를 참고 하시면 +.- function  동작 안되는 이유를 찾으실수가 있습니다.

 

js/shop.override.js 이 화일을 보면 + - 버튼, 선택한 옵션 만드는 소스가 있습니다

디자인 적인 것을 물어보시는 것인지 궁금 합니다.

아니면 프로그램을 어떻게 하는지 물어보시는 것이지요

아니면 소스 수정하는 위치를 물어보시는 것인지요

질문이 좀 이해가 되지 않아서요

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

회원로그인

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