반응형
최근 의뢰를 받아 했던 카페24 작업.
왼쪽에서 어느 컬러를 하나 클릭하면 그 컬러 제품만 볼 수 있도록 하는 기능을 작업하였다.
자동으로 분류되는건 아니고 약간의 소스 노가다가 필요한 작업이다.
[예시화면]
[작동 방식]
상품 등록시, 자체 코드에 컬러명을 영문으로 입력하면
별도의 페이지에서 컬러칩 클릭시 자체코드가 해당 컬러명을 가진 상품만 탭방식으로 show, hide 해주는 방식이다.
[작업소스]
- 일반페이지를 하나 생성한 후 아래의 소스 추가
- ul.colorchip부분에 쓴 영문명을 자체코드에 동일하게 입력해주면 됨.
<div id="pl_01" class="pl">
<!-- left 영역-->
<div class="title scroll-fade pl-viewport motion1 pull-left">
<!--컬러칩-->
<ul class="colorchip">
<li class="white active" rel="white"></li>
<li class="lightpurple" rel="lightpurple"></li>
<li class="babypink" rel="babypink"></li>
<li class="orange" rel="orange"></li>
<li class="emerald" rel="emerald"></li>
<li class="red" rel="red"></li>
</ul>
<!--컬러칩-->
</div>
<!-- right 영역-->
<div class="pull-right tab_container">
<div class="pl-product pl-main-product tab_content" module="product_listmain_6">
<!--
$count = 50
$basket_result = /product/add_basket.html
$basket_option = /product/basket_option.html
-->
<ul class="prdList grid3">
<!--@import(/pl/item_list.html)-->
<!--@import(/pl/item_list.html)-->
<!--@import(/pl/item_list.html)-->
</ul>
</div>
</div>
</div>
<script>
$(function () {
$("#pl_01 .item_list").hide();
$("#pl_01 .item_white").show(); //가장 첫번째 컬러칩 상품은 보여주기
$("#pl_01 .colorchip li").click(function () {
$("#pl_01 .colorchip li").removeClass("active").css("background-image", "transparent;");
$(this).addClass("active").css("background-image", "url('/web/pl/check_icon.png');");
$("#pl_01 .item_list").hide();
var activeTab = $(this).attr("rel");
$("#pl_01 .item_" + activeTab).fadeIn();
});
});
</script>
/pl/item_list.html
- 여기서 중요한 점은 상품리스트(li) class에 {$ma_product_code}를 넣어주는것. 해당 컬러를 클래스로 가진 li만 보여주는 방식이다.
- 다른 부분은 기존에 사용하고 있는 리스트 소스 그대로 사용해도 됨.
<li id="anchorBoxId_13" class="item_list {$ma_product_code}">
<div class="item_list_box">
<div class="listImg" module="product_addimage">
<ul>
<li>{$add_img}</li>
<li>{$add_img}</li>
</ul>
</div>
<div class="prdImg scroll-fade dj-viewport">
<a href="{$link_product_detail}" name="anchorBoxName_{$product_no}">
<img src="{$image_medium}" id="{$image_medium_id}" class="thumb_Img" alt="{$seo_alt_tag}" /><span module="product_Imagestyle"><span class="prdIcon {$icon_class_name}" style="background-image:url('{$icon_url}');"></span></span></span>
</a>
</div>
</div>
..생략..
</li>
.css파일
.pl {position:relative;float:left;display:inline-block;*display:inline;width:100%;}
.colorchip {position:relative;display:inline-block;*display:inline;margin:20px 0;}
.colorchip li {float:left;width:45px;height:45px;background:#ddd;border-radius:50%;font-size:0;margin-right:5px;margin-bottom:5px;display:inline;list-style:none;}
.colorchip li:hover {cursor:pointer;}
/*컬러지정*/
.colorchip li.pink {background:#bb6572}
.colorchip li.babypink {background:#ffa2b7;}
.colorchip li.yellow {background:#f18507;}
.colorchip li.khaki {background:#393a28;}
.colorchip li.purple {background:#897b9e;}
.colorchip li.lightpurple {background:#e2d4e3;}
.colorchip li.beige {background:#bd968f;}
.colorchip li.burgundy {background:#841924;}
.colorchip li.brown {background:#672d15}
.colorchip li.deepbrown {background:#59453a}
.colorchip li.deepgreen {background:#0c2220}
.colorchip li.aqua {background:#013743}
.colorchip li.black {background:#110f10}
반응형
'개발 > 카페24' 카테고리의 다른 글
[카페24] 메인 상품 후기 최신글 코드 / 메인에 최근 리뷰 보여주기 (4) | 2023.02.22 |
---|---|
[카페24] 네이버페이 버튼이 노출되지 않는 경우 (2) | 2023.01.13 |
[카페24 오류] 비밀번호 변경/재설정 페이지가 계속 뜨는 경우 (2) | 2023.01.12 |
[카페24] 상품 목록 품절 아이콘 대신 텍스트로 표기하기 (3) | 2022.12.29 |
카페24 갤러리 게시판 썸네일 크기 변경하기 (2) | 2022.04.04 |
카페24 서브도메인 설정하기 / 2차도메인 추가 (4) | 2022.03.15 |
[카페24 오류] 장바구니에 상품이 담기지 않거나 "필수 옵션을 선택해주세요." 오류 수정 (4) | 2021.06.29 |
[카페24] 상품 목록 페이지 가격 세자리마다 콤마, 화폐단위 나타내기 (2) | 2021.04.02 |