浏览代码

룩북 브랜드 GNB 적용

bin2107 5 年之前
父节点
当前提交
6a3c53b819

+ 12 - 0
src/main/java/com/style24/front/biz/web/TsfDisplayController.java

@@ -415,6 +415,16 @@ public class TsfDisplayController extends TsfBaseController {
 	@GetMapping("/lookbook/main/form")
 	public ModelAndView lookbookMain(Lookbook lookbook) {
 		ModelAndView mav = new ModelAndView(super.getDeviceViewName("display/LookbookMainForm"));
+		// 브랜드그룹 정보 : 브랜드메인 링크에 설정된 기획전으로 들어올때 GNB 변경때문에 사용
+		if(lookbook.getBrandGroupNo() != null && !lookbook.getBrandGroupNo().equals("")){
+			lookbook.setBrandCd(lookbook.getBrandGroupNo().toString());
+			lookbook.setLookbookGb("BL");
+			mav.addObject("brandGroupInfo", displayService.getGnbBrandGroup(lookbook.getBrandGroupNo()));
+		}else{
+			lookbook.setLookbookGb("B");
+			mav.addObject("brandGroupInfo", null);
+		}
+
 		mav.addObject("lbInfo", lookbook);
 		return mav;
 	}
@@ -460,6 +470,8 @@ public class TsfDisplayController extends TsfBaseController {
 		mav.addObject("lookbookDetailList", lookbookList);
 		mav.addObject("otherLookbookList", coreLookbookService.getOtherLookbookList(lookbook));
 		mav.addObject("lookbookInfo", lookbook);
+		// 브랜드그룹 정보 : 브랜드메인 링크에 설정된 기획전으로 들어올때 GNB 변경때문에 사용
+		mav.addObject("brandGroupInfo", displayService.getGnbBrandGroup(lookbook.getBrandGroupNo()));
 
 		mav.setViewName(super.getDeviceViewName("display/LookbookDetailForm"));
 		return mav;

+ 22 - 16
src/main/webapp/WEB-INF/views/web/display/CategoryGoodsListFormWeb.html

@@ -21,8 +21,8 @@
 <th:block layout:fragment="content">
 	<div id="container" class="container dp">
 		<div class="breadcrumb">
-			<ul>
-				<li class="bread_home"><a href="index.html">홈</a></li>
+			<ul id="navArea">
+				<li class="bread_home"><a href="javascript:void(0);" id="navHome">홈</a></li>
 				<li class="bread_2depth" id="navNm">여성</li>
 			</ul>
 		</div>
@@ -293,7 +293,7 @@
 
 	<script src="/ux/plugins/gaga/gaga.infinite.scrollSession.js"></script>
 	<script src="/ux/plugins/jquery/jquery.history.min.js"></script>
-	<script th:src="@{'/biz/goodsSession.js?v=' + ${#calendars.format(#calendars.createNow(), 'yyyyMMddHHmmss')}}" src="/biz/goodsSession.js"></script>
+	<script th:src="@{'/biz/goods.js?v=' + ${#calendars.format(#calendars.createNow(), 'yyyyMMddHHmmss')}}" src="/biz/goods.js"></script>
 	<script th:inline="javascript">
 		/*<![CDATA[*/
 		var filterPriceList = [[${filterPriceList}]];
@@ -355,7 +355,6 @@
 
 		// 상품 검색
 		var fnGetInfiniteScrollDataList = function (pageNum){
-			console.log('pageNum:::'+pageNum);
 			$("#searchGoodsForm input[name=pageNo]").val(pageNum+1);
 			gagajf.ajaxFormSubmit("/display/category/goods/list", document.searchGoodsForm,  gagaInfiniteScroll.jsonToHtml);
 		}
@@ -417,6 +416,7 @@
 			var formTitle = "";
 
 			let tag = '';
+
 			if (cate1 != null) {
 				tag += '<li';
 					if(cate1.cate1No == cate1No){
@@ -424,12 +424,17 @@
 					}
 				tag += '>\n';
 				tag += '	<a href="javascript:javascript:void(0);"';
-				if(cate1.cate1No == cate1No){
+				if(cate1.cate1No == cate1No && cate2No == null){
 					tag += ' class="on"';
 					formTitle = cate1.cate1Nm;
-					navNm = cate1.cate1Nm;
-					$("#navNm").text(navNm);
 					$("#formTitle").text(formTitle);
+					if(brandGroupNo==0){
+						$("#navHome").attr('href', '/');
+						$("#navNm").text(cate1.cate1Nm);
+					}else{
+						$("#navHome").attr('onclick', 'cfnGoToBrandMain('+brandGroupNo+');');
+						$("#navNm").text(cate1.cate1Nm);
+					}
 				}
 				tag += '	onclick="cfnGoToGoodsList('+brandGroupNo+',\''+cateGb+'\','+cate1.cate1No+');" >' + cate1.cate1Nm + '</a>\n';
 				if (cate1.leafYn == 'N' && cate1.cate2List.length > 0) {
@@ -441,15 +446,16 @@
 					tag += '	<ul>\n';
 					$.each(cate1.cate2List, function(idx2, cate2) {
 						tag += '		<li';
-						if(cate2.cate2No == cate2No){
+						if(cate2.cate2No == cate2No && cate3No == null){
 							tag += ' class="on"';
 						}
 						tag += '		>\n';
 						tag += '		<a href="javascript:javascript:void(0);" ';
-						if(cate2.cate2No == cate2No){
+						if(cate2.cate2No == cate2No && cate3No == null){
 							tag += ' class="on"';
-							navNm = navNm +' > ' + cate2.cate2Nm;
-							$("#navNm").text(navNm);
+							navNm = '<li class="bread_2depth" id="navNm2">'+cate2.cate2Nm+'</li>';
+							$("#navArea").append(navNm);
+							$("#formTitle").text(cate2.cate2Nm);
 						}
 						tag += '	onclick="cfnGoToGoodsList('+brandGroupNo+',\''+cateGb+'\','+cate1.cate1No+','+cate2.cate2No+');">' + cate2.cate2Nm + '</a>\n';
  						if (cate2.leafYn == 'N' && cate2.cate3List != null && cate2.cate3List.length > 0) {
@@ -461,15 +467,16 @@
 							tag += '	<ul>\n';
 							$.each(cate2.cate3List, function (idx3, cate3){
 								tag += '<li';
-								if(cate3.cate3No == cate3No){
+								if(cate3.cate3No == cate3No && cate4No == null){
 									tag += ' class="on"';
 								}
 								tag += '>';
 								tag += '		<a href="javascript:javascript:void(0);" ';
-								if(cate3.cate3No == cate3No){
+								if(cate3.cate3No == cate3No && cate4No == null){
 									tag += ' class="on"';
-									navNm = navNm +' > ' + cate3.cate3Nm;
-									$("#navNm").text(navNm);
+									navNm = '<li class="bread_2depth" id="navNm2">'+cate2.cate2Nm+'</li><li class="bread_2depth" id="navNm3">'+cate3.cate3Nm+'</li>';
+									$("#navArea").append(navNm);
+									$("#formTitle").text(cate3.cate3Nm);
 								}
 								tag += ' onclick="cfnGoToGoodsList('+brandGroupNo+',\''+cateGb+'\','+cate1.cate1No+','+cate2.cate2No+','+cate3.cate3No+');">' + cate3.cate3Nm + '</a>';
 								tag += '</li>\n';
@@ -484,7 +491,6 @@
 				}
 				tag += '</li>\n';
 			}
-
 			return tag;
 		}
 

+ 13 - 7
src/main/webapp/WEB-INF/views/web/display/LookbookDetailFormWeb.html

@@ -2,7 +2,7 @@
 <html lang="ko"
 	xmlns:th="http://www.thymeleaf.org"
 	xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
-	layout:decorator="web/common/layout/DefaultLayoutWeb">
+	layout:decorator="web/common/layout/PlanningLayoutWeb">
 <!--
  *******************************************************************************
  * @source  : LookbookDetailFormWeb.html
@@ -22,7 +22,7 @@
 	<div id="container" class="container br">
 		<div class="breadcrumb">
 			<ul>
-				<li class="bread_home"><a href="index.html">홈</a></li>
+				<li class="bread_home"><a href="javascript:void(0);" id="navHome">홈</a></li>
 				<li class="bread_2depth" th:text="${lookbookInfo.brandNm}">TBJ</li>
 				<li class="bread_3depth">룩북</li>
 			</ul>
@@ -284,9 +284,9 @@
 
 	<script th:inline="javascript">
 /*<![CDATA[*/
-	var fnTest = function (){
-		console.log('18');
-	}
+	var lookbookGb = [[${lookbookInfo.lookbookGb}]];
+	var brandCd = [[${lookbookInfo.brandCd}]];
+
 	var goodsImgUrl = [[${@environment.getProperty('upload.goods.view')}]];
 	var fnLookbookGoodsPopup = function(obj1,obj2,obj3,obj4,obj5,obj6,obj7){
 	$("#lookbookItemPop").modal("show");
@@ -297,7 +297,7 @@
 	$("#lookbookItemPop").find(".itemPrice").text(obj5);
 	$("#lookbookItemPop").find(".itemPercent").text(obj6+'%');
 	$("#lookbookItemPop").find(".btn_default").attr('onclick','cfnGoToPage(_PAGE_GOODS_DETAIL+"'+obj7+'");');
-}
+	}
 	// 컨텐츠 호출
 	$(document).ready( function() {
 		/* 슬라이드 - 상단_LOOKBOOK */
@@ -318,7 +318,7 @@
 				el: '.br_lookbook_view.cont_visual .swiper-pagination',
 				clickable: true,
 			},
-		}, fnTest());
+		});
 
 		/* 슬라이드 - 룩북 속 상품 */
 		var togetherItemSwiper = new Swiper('.br_lookbook_view.cont_items .swiper-container', {
@@ -345,6 +345,12 @@
 			$("#lookbookItemPop").modal("show");
 			return false;
 		});
+
+		if(lookbookGb=='BL'){
+			$("#navHome").attr('onclick', 'cfnGoToBrandMain('+brandCd+');');
+		}else{
+			$("#navHome").attr('href', '/');
+		}
 	});
 
 /*]]>*/

+ 6 - 3
src/main/webapp/WEB-INF/views/web/display/LookbookMainFormWeb.html

@@ -2,7 +2,7 @@
 <html lang="ko"
 	xmlns:th="http://www.thymeleaf.org"
 	xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
-	layout:decorator="web/common/layout/DefaultLayoutWeb">
+	layout:decorator="web/common/layout/PlanningLayoutWeb">
 <!--
  *******************************************************************************
  * @source  : LookbookMainFormWeb.html
@@ -22,7 +22,7 @@
 	<div id="container" class="container dp">
 		<div class="breadcrumb">
 			<ul>
-				<li class="bread_home"><a href="javascript:void(0);" onclick="cfnGoToPage(_PAGE_MAIN);">홈</a></li>
+				<li class="bread_home"><a href="javascript:void(0);" id="navHome">홈</a></li>
 				<li class="bread_home" id="brandLi" style="display: none;"></li>
 				<li class="bread_2depth">룩북</li>
 			</ul>
@@ -115,7 +115,7 @@
 						tag2 += '<ul class="clear event_con" id="lookbookArea" style="display: block;">';
 						$.each(result, function(idx, item) {
 							tag2 += '<li>';
-							tag2 += '	<a href="javascript:void(0);" onclick="cfnGoToLookbookDetail('+item.lookbookSq+','+item.brandCd+')">';
+							tag2 += '	<a href="javascript:void(0);" onclick="cfnGoToLookbookDetail(\''+lookbookGb+'\','+item.lookbookSq+','+item.brandCd+')">';
 							tag2 += '		<div class="ev_img">';
 							tag2 += '			<img src="' + _imgUrl + item.orgTnfileNm + '" alt="" style="height:100%">';
 							tag2 += '		</div>';
@@ -161,6 +161,9 @@
 		if(lookbookGb=='BL'){
 			$("#brandBox").hide();
 			$("#brandLi").show();
+			$("#navHome").attr('onclick', 'cfnGoToBrandMain('+brandCd+');');
+		}else{
+			$("#navHome").attr('href', '/');
 		}
 	});
 

+ 1 - 1
src/main/webapp/WEB-INF/views/web/display/MallMainFormWeb.html

@@ -165,11 +165,11 @@
 											<div class="swiper-slide">
 												<div class=" item_prod sUiXc "> <!-- item_prod ranker d_detail -->
 													<div class="item_state"> <!-- item_state AD soldout -->
+														<button type="button" class="itemLike" th:classappend="${bestItemData.likeIt == 'likeit'}? 'likeit' : ''"  onclick="cfnPutWishList(this);" th:attr="goodsCd=${bestItemData.goodsCd}, ithrCd='', contentsLoc='SMM004', planDtlSq=''">관심상품 추가</button>
 														<a href="javascript:void(0);" class="itemLink" th:onclick="cfnGoToGoodsDetail([[${bestItemData.goodsCd}]], '', '', 'SMM004');">
 															<div class="shape ranker"><span th:text="${bestItemStat.count}"></span></div>
 															<div class="itemPic">
 																<img alt="BLACK-a" class=" vLHTC pd_img" th:src="${@environment.getProperty('upload.goods.view') + '/' + bestItemData.sysImgNm}" >
-																<button type="button" class="itemLike" th:classappend="${bestItemData.likeIt == 'likeit'}? 'likeit' : ''"  onclick="cfnPutWishList(this);" th:attr="goodsCd=${bestItemData.goodsCd}, ithrCd='', contentsLoc='SMM004', planDtlSq=''">관심상품 추가</button>
 															</div>
 															<p class=" itemBrand" th:text="${bestItemData.brandGroupNm}">BRAND NAME</p>
 															<div class=" itemName" th:text="${bestItemData.goodsFullNm}">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>

+ 74 - 0
src/main/webapp/biz/goods.js

@@ -147,4 +147,78 @@ var fnEpCouponDownCallBack = function(){
 	//cfCloseLayer('epCouponPop');  //dim 이 안없어져요
 }
 
+var categoryGoodsList = [];
+var cnt = 1;
+var email = '';
+var fnCreateGoodsList = function(result, ithrCd, contentLoc, goodsUrl, lastPage, endRow) {
+	var tag = '';
+	var rank = 0;
+	if(lastPage!='1'){
+		rank = endRow;
+	}
+	$.each(result.dataList, function(idx, item) {
+		if (idx < 4) {
+			categoryGoodsList.push(item.goodsCd);
+		}
+
+		tag += '<div class="item_prod">';
+		tag += '	<div class="item_state">';
+		tag += '		<button type="button" class="itemLike">관심상품 추가</button>';
+		tag += '		<a href="#none" class="itemLink">';
+		// tag += '			<div class="rank ranker"><span>'+(rank+(idx+1))+'</span></div>';
+		tag += '			<div class="itemPic">';
+		tag += '				<img alt="BLUE-a" class=" vLHTC pd_img" src="'+goodsUrl+'/'+item.sysImgNm+'">';
+		tag += '			</div>';
+		tag += '			<p class="itemBrand">'+item.brandGroupNm+'</p>';
+		tag += '			<div class="itemName">'+item.goodsFullNm+'</div>';
+		tag += '			<p class="itemPrice">'+item.currPrice.addComma();
+		tag += '				<span class="itemPrice_original">'+item.listPrice.addComma()+'</span>';
+		if(item.currPrice != item.listPrice){
+			if(item.listPrice != 0){
+				tag += '				<span class="itemPercent">'+ Math.round((item.listPrice - item.currPrice) / (item.listPrice * 1.0) * 100) +'%</span>';
+			}
+		}
+		tag += '			</p>';
+		tag += '			<div class="itemcolorchip">';
+		tag += '				<span class="chip_color35" value="ABM">BEIGE</span>';
+		tag += '				<span class="chip_color54" value="BDS">BLACK</span>';
+		tag += '				<span class="chip_color40" value="YBR">WHITE</span>';
+		tag += '			</div>';
+		tag += '			<p class="itemBadge">';
+		tag += '				<span class="badge13">베스트 </span>';
+		tag += '			</p>';
+		if(item.goodsTnm != null){
+			tag += '			<div class="itemComment">'+item.goodsTnm+'</div>';
+		}
+		tag += '		</a>';
+		tag += '	</div>';
+		tag += '</div>';
+	});
+
+	if (cnt == 1) {
+		// <!-- Criteo 카테고리/리스팅 태그 -->
+		window.criteo_q = window.criteo_q || [];
+		var deviceType = /iPad/.test(navigator.userAgent) ? "t" : /Mobile|iP(hone|od)|Android|BlackBerry|IEMobile|Silk/.test(navigator.userAgent) ? "m" : "d";
+		window.criteo_q.push(
+			{event: "setAccount", account: 26073}, // 이 라인은 업데이트하면 안됩니다
+			{event: "setEmail", email: email}, // 유저가 로그인이 안되 있는 경우 빈 문자열을 전달
+			{event: "setSiteType", type: deviceType},
+			{event: "viewList", item: categoryGoodsList} // 가장 위에있는 3개의 상품 ID를 전달
+		);
+		// <!-- END 카테고리/리스팅 태그 -->
+		cnt++;
+	}
+
+	return tag;
+}
+
+
+// 인피니트 스크롤 초기화
+var fnCategoryGoodsInfiniteScrollInit = function(){
+	sessionStorage.removeItem(document.location.href);
+	//History 초기화
+	$("#listBox").html("");
+}
+
+
 //****************상품상세  end **********************************

+ 6 - 2
src/main/webapp/ux/style24_link.js

@@ -1109,8 +1109,12 @@ var cfnGoToLookbookList = function (lookbookGb, brandGroupNo) {
  * @author : bin2107
  */
 var cfnGoToLookbookDetail = function (lookbookGb, lookbookSq, brandGroupNo) {
-	var params = '?lookbookGb='+lookbookGb+'lookbookSq=' + lookbookSq;
-	if (typeof (brandGroupNo) != 'undefined') params += '&brandCd=' + brandGroupNo;
+	var params = '?lookbookGb='+lookbookGb+'&lookbookSq=' + lookbookSq;
+	if(lookbookGb=='BL'){
+		if (typeof (brandGroupNo) != 'undefined') params += '&brandCd=' + brandGroupNo + '&brandGroupNo=' + brandGroupNo;
+	}else {
+		if (typeof (brandGroupNo) != 'undefined') params += '&brandCd=' + brandGroupNo;
+	}
 
 	cfnGoToPage(_PAGE_LOOKBOOK_DETAIL + params);
 }