영카트 상품 옵션 항상 보이게 채택완료

1966463495_1717947012.6981.png

상품 선택옵션을 select 박스에서 선택해야 카운트박스가 나오는 것이 아닌, 항상 보이게 설정할 수 있는 방법이 있을까요?

답변 2개

채택된 답변
+20 포인트

다음 코드가 도움이 될지 모르겠습니다.

https://github.com/gnuboard/gnuboard5/blob/master/skin/shop/basic/item.form.skin.php#L528

Copy
...

<script src="<?php echo G5_JS_URL; ?>/shop.override.js"></script>


<script>
$(function(){
    function select_it_option_always_visible() {
        var option_add_temp = option_add;
        option_add = true;
        $('.it_option').each(function (select_i, select) {
            $(select).children('option').each(function (option_i, option) {
                var option_val = $(option).val();
                if (option_val == '') {
                    return true;
                }
                
                $(select).val(option_val);
                $(select).trigger('change');
            });
        });
        option_add = option_add_temp;
    }
    select_it_option_always_visible();
});
</script>
로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

단숨에 해결되었습니다. 정말 감사드립니다.
선택옵션을 하니 최종가격에 상품가격이 자꾸 통째로 플러스되네요..
추가옵션을 표시하는 코드는 없을까요?

선택옵션은 클래스명이 it_option, 추가옵션은 it_supply라서 변경해봐도 안 되네요..
option_add 를 supply_add 로 다 변경하니 해결되네요 ^^
* option_add_temp 는 유지.

<script>
$(function(){
function select_it_option_always_visible() {
var option_add_temp = supply_add;
supply_add = true;
$('.it_supply').each(function (select_i, select) {
$(select).children('option').each(function (option_i, option) {
var option_val = $(option).val();
if (option_val == '') {
return true;
}

$(select).val(option_val);
$(select).trigger('change');
});
});
supply_add = option_add_temp;
}
select_it_option_always_visible();
});
</script>

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

보이게 처리를 하는건 가능하나 소스 커스텀을 해야 하는 부분입니다.

/lib/shop.lib.php 파일에

get_item_options 함수를 커스텀 해서 기능 수정하면 가능할듯 합니다.

로그인 후 평가할 수 있습니다

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

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고