|
|
@@ -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/GoodsLayoutWeb">
|
|
|
<!--
|
|
|
*******************************************************************************
|
|
|
* @source : GoodsDetailFormWeb.html
|
|
|
@@ -40,7 +40,7 @@
|
|
|
th:if="${ not (#strings.contains(goodsImg.sysImgNm,'_S1.')
|
|
|
or #strings.contains(goodsImg.sysImgNm,'_L1.')
|
|
|
or #strings.contains(goodsImg.sysImgNm,'_L2.'))}">
|
|
|
- <a th:href="${'#navLocate'+ status.count}"><span class="thumb"><img th:src="${imgGoodsUrl+'/'+goodsImg.sysImgNm}" alt=""></span></a></div>
|
|
|
+ <a th:href="${'#navLocate'+ status.count}"><span class="thumb"><img th:src="${imgGoodsUrl+'/'+goodsImg.sysImgNm}" alt="" th:onerror="'this.src=\''+@{${uxImgUrl}+ '/images/pc/thumb/bg_item_none.png'}+'\';'"></span></a></div>
|
|
|
</th:block>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -55,7 +55,7 @@
|
|
|
th:if="${ not (#strings.contains(goodsImg.sysImgNm,'_S1.')
|
|
|
or #strings.contains(goodsImg.sysImgNm,'_L1.')
|
|
|
or #strings.contains(goodsImg.sysImgNm,'_L2.'))}">
|
|
|
- <a href="javascript:void(0);"><span class="thumb"><img th:src="${imgGoodsUrl+'/'+goodsImg.sysImgNm}" alt=""></span></a></li>
|
|
|
+ <a href="javascript:void(0);"><span class="thumb"><img th:src="${imgGoodsUrl+'/'+goodsImg.sysImgNm}" alt="" th:onerror="'this.src=\''+@{${uxImgUrl}+ '/images/pc/thumb/bg_item_none.png'}+'\';'"></span></a></li>
|
|
|
</th:block>
|
|
|
</ul>
|
|
|
</div>
|
|
|
@@ -187,62 +187,35 @@
|
|
|
<div class="form_field">
|
|
|
<div th:each="goodsOption2, status : ${goodsOption2List}">
|
|
|
<input type="radio" name="opt" th:id="${goodsOption2.optCd}" th:disabled="${goodsOption2.soldoutYn == 'Y' or goodsOption2.stockQty <= 0}"
|
|
|
- th:attr="addPrice=${goodsOption2.addPrice}, optCd1=${goodsOption2.optCd1}, optCd=${goodsOption2.optCd}">
|
|
|
+ th:attr="addPrice=${goodsOption2.addPrice}, optCd1=${goodsOption2.optCd1}, optCd2=${goodsOption2.optCd2}, optCd=${goodsOption2.optCd}">
|
|
|
<label th:for="${goodsOption2.optCd}"><span th:text="${goodsOption2.optCd2}" th:onclick="jfViewStock(this, [[${goodsInfo.goodsCd}]],[[${goodsOption2.optCd1}]],[[${goodsOption2.optCd2}]],[[${goodsInfo.minOrdQty}]], [[${goodsInfo.maxOrdQty}]] )">100</span></label>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</th:block>
|
|
|
<th:block th:if="${goodsInfo.selfGoodsYn =='N' }">
|
|
|
- <div class="opt_select">
|
|
|
- <form class="form_wrap">
|
|
|
- <div class="form_field">
|
|
|
- <div class="select_custom item_opt1">
|
|
|
- <div class="combo">
|
|
|
- <div class="select">선택</div>
|
|
|
- <ul class="list">
|
|
|
- <!-- 선택처리 class="selected" / 선택불가 aria-disabled="true" / 품절표기 data-soldout="true" 추가 -->
|
|
|
- <li class="selected">선택</li>
|
|
|
- <li>상품옵션01</li>
|
|
|
- <li>상품옵션02</li>
|
|
|
- <li>상품옵션03</li>
|
|
|
- <li aria-disabled="true">
|
|
|
- <div>상품옵션05</div>
|
|
|
- <div>120,000원</div>
|
|
|
- </li>
|
|
|
- <li>상품옵션06</li>
|
|
|
- <li aria-disabled="true" data-soldout="true">
|
|
|
- <div>상품옵션07</div>
|
|
|
- <div>120,000원</div>
|
|
|
- </li>
|
|
|
- </ul>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ <div class="opt_select" th:if="${goodsOptionList != null and !goodsOptionList.empty}">
|
|
|
+ <div class="opt_header">
|
|
|
+ <span class="title">옵션</span>
|
|
|
+ <button type="button" id="btn_infoSize_pop" class="btn_popup" th:onclick="cfGoodsSizeInfo([[${goodsInfo.goodsCd}]],[[${goodsInfo.colorCd}]] )"><span>사이즈정보</span></button>
|
|
|
</div>
|
|
|
- <!-- <div class="form_field">
|
|
|
- <div class="select_custom item_opt2" disabled="">
|
|
|
- <div class="combo">
|
|
|
- <div class="select">선택</div>
|
|
|
- <ul class="list">
|
|
|
- 선택처리 class="selected" / 선택불가 aria-disabled="true" / 품절표기 data-soldout="true" 추가
|
|
|
- <li class="selected">선택</li>
|
|
|
- <li>상품옵션11</li>
|
|
|
- <li>상품옵션12</li>
|
|
|
- <li>상품옵션13</li>
|
|
|
- <li aria-disabled="true">
|
|
|
- <div>상품옵션15</div>
|
|
|
- <div>120,000원</div>
|
|
|
- </li>
|
|
|
- <li>상품옵션16</li>
|
|
|
- <li aria-disabled="true" data-soldout="true">
|
|
|
- <div>상품옵션17</div>
|
|
|
- <div>120,000원</div>
|
|
|
- </li>
|
|
|
- </ul>
|
|
|
- </div>
|
|
|
+ <div class="form_field">
|
|
|
+ <div class="select_custom item_opt1">
|
|
|
+ <div class="combo">
|
|
|
+ <div class="select">선택</div>
|
|
|
+ <ul class="list">
|
|
|
+ <li class="selected" id="selfNoGoodsOpt">선택</li>
|
|
|
+ <th:block th:each="goodsOption, status : ${goodsOptionList}" >
|
|
|
+ <li th:attr="aria-disabled=${(goodsOption.soldoutYn == 'Y' or goodsOption.stockQty <= 0)? 'true':''}, data-soldout=${(goodsOption.soldoutYn == 'Y' or goodsOption.stockQty <= 0)? 'true':''}">
|
|
|
+ <div th:text="${goodsOption.optNm}">상품옵션</div>
|
|
|
+ <div th:if="${goodsOption.addPrice > 0}" th:text="|${#numbers.formatInteger(goodsOption.addPrice, 0,'COMMA')}원|">0원</div>
|
|
|
+ <input type="hidden" name="opt" th:id="${goodsOption.optCd}" th:attr="addPrice=${goodsOption.addPrice}, optCd1=${goodsOption.optCd1},optCd2=${goodsOption.optCd2}, optCd=${goodsOption.optCd}"/>
|
|
|
+ </li>
|
|
|
+ </th:block>
|
|
|
+ </ul>
|
|
|
</div>
|
|
|
- </div> -->
|
|
|
- </form>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</th:block>
|
|
|
<!-- 해당 상품 품절시 노출 -->
|
|
|
@@ -705,7 +678,7 @@
|
|
|
|
|
|
<script th:inline="javascript">
|
|
|
/*<![CDATA[*/
|
|
|
-
|
|
|
+
|
|
|
// 다다익선 상품
|
|
|
var jfGoodsTmtbSearch = function(params) {
|
|
|
gagajf.ajaxSubmit("/goods/detail/tmtb/frame", "html", "goodsTmtbArea", params);
|
|
|
@@ -1027,25 +1000,25 @@
|
|
|
params.goodsOtherGb = "tmtb";
|
|
|
params.ithrCd = "tmtb";
|
|
|
params.contentsLoc = "tmtb";
|
|
|
- jfGoodsTmtbSearch(params);
|
|
|
+// jfGoodsTmtbSearch(params);
|
|
|
|
|
|
// 함께본 상품(ajax html)
|
|
|
params.goodsOtherGb = "together";
|
|
|
params.ithrCd = "tmtb";
|
|
|
params.contentsLoc = "tmtb";
|
|
|
- jfGoodsTogetherSearch(params);
|
|
|
+ // jfGoodsTogetherSearch(params);
|
|
|
|
|
|
// 추천 상품(ajax html)
|
|
|
params.goodsOtherGb = "recommend";
|
|
|
params.ithrCd = "tmtb";
|
|
|
params.contentsLoc = "tmtb";
|
|
|
- jfGoodsRecommendSearch(params);
|
|
|
+ // jfGoodsRecommendSearch(params);
|
|
|
|
|
|
// 비슷한 상품(ajax html)
|
|
|
params.goodsOtherGb = "like";
|
|
|
params.ithrCd = "tmtb";
|
|
|
params.contentsLoc = "tmtb";
|
|
|
- jfGoodsLikeSearch(params);
|
|
|
+ // jfGoodsLikeSearch(params);
|
|
|
|
|
|
|
|
|
// 상품 대표설명 > 좌측 상품썸네일 navi, 우측 상품정보 고정
|
|
|
@@ -1216,6 +1189,76 @@
|
|
|
}; */
|
|
|
|
|
|
jfOptionSoldout();
|
|
|
+
|
|
|
+ // 광고 스크립트용
|
|
|
+ var goodsNavigation = [[${goodsNavigation}]];
|
|
|
+ if (!gagajf.isNull(goodsNavigation)) {
|
|
|
+ var cate1Nm = goodsNavigation.cate1Nm;
|
|
|
+ var cate2Nm = goodsNavigation.cate2Nm;
|
|
|
+ var cate3Nm = goodsNavigation.cate3Nm;
|
|
|
+ var cate4Nm = goodsNavigation.cate4Nm;
|
|
|
+ var cate5Nm = goodsNavigation.cate3Nm;
|
|
|
+
|
|
|
+ if (!gagajf.isNull(cate1Nm)) {
|
|
|
+ cateNm += cate1Nm;
|
|
|
+ }
|
|
|
+ if (!gagajf.isNull(cate2Nm)) {
|
|
|
+ cateNm += ' > ' + cate2Nm;
|
|
|
+ }
|
|
|
+ if (!gagajf.isNull(cate3Nm)) {
|
|
|
+ cateNm += ' > ' + cate3Nm;
|
|
|
+ }
|
|
|
+ if (!gagajf.isNull(cate4Nm)) {
|
|
|
+ cateNm += ' > ' + cate4Nm;
|
|
|
+ }
|
|
|
+ if (!gagajf.isNull(cate5Nm)) {
|
|
|
+ cateNm += ' > ' + cate5Nm;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 광고 스크립트용
|
|
|
+
|
|
|
+ var snsGoodsImg = _uploadGoodsUrl + [[${goodsInfo.sysImgNm}]];
|
|
|
+ var snsUrl = location.protocol + _PAGE_GOODS_DETAIL + params.goodsCd +'&colorCd =' + params.colorCd ;
|
|
|
+ var snsGoodsFullNm = [[${goodsInfo.goodsFullNm}]];
|
|
|
+
|
|
|
+ <!-- 페이스북 카카오스토리 연동 관련 메타태그 -->
|
|
|
+ $("meta[property='og:url']").attr('content', snsUrl);
|
|
|
+ $("meta[property='og:title']").attr('content', snsGoodsFullNm);
|
|
|
+ $("meta[property='og:description']").attr('content', snsGoodsFullNm);
|
|
|
+ $("meta[property='og:image']").attr('content', snsGoodsImg);
|
|
|
+
|
|
|
+ <!-- 트위터 관련 메타태그 -->
|
|
|
+ $("meta[name='twitter:url']").attr('content', snsUrl);
|
|
|
+ $("meta[name='twitter:title']").attr('content', snsGoodsFullNm);
|
|
|
+ $("meta[name='twitter:description']").attr('content', snsGoodsFullNm);
|
|
|
+ $("meta[name='twitter:image']").attr('content', snsGoodsImg);
|
|
|
+
|
|
|
+ // 추천솔류션 meta 설정
|
|
|
+ $("meta[property='eg:type']").attr('content',"product");
|
|
|
+ $("meta[property='eg:cuid']").attr('content',"1252aed4-78dc-46e8-b784-94ac42e86dd4");
|
|
|
+ $("meta[property='eg:itemId']").attr('content', [[${goodsInfo.goodsCd}]] );
|
|
|
+ $("meta[property='eg:itemName']").attr('content',[[${goodsInfo.goodsFullNm}]] );
|
|
|
+ $("meta[property='eg:itemImage']").attr('content', snsGoodsImg);
|
|
|
+ $("meta[property='eg:itemUrl']").attr('content',snsUrl);
|
|
|
+ $("meta[property='eg:originalPrice']").attr('content',[[${goodsInfo.listPrice}]]);
|
|
|
+ $("meta[property='eg:salePrice']").attr('content',[[${goodsInfo.currPrice}]]);
|
|
|
+ $("meta[property='eg:category1']").attr('content',cate1Nm);
|
|
|
+ $("meta[property='eg:category2']").attr('content',cate2Nm);
|
|
|
+ $("meta[property='eg:category3']").attr('content',cate3Nm);
|
|
|
+ $("meta[property='eg:category4']").attr('content',cate4Nm);
|
|
|
+ $("meta[property='eg:category5']").attr('content',cate5Nm);
|
|
|
+ $("meta[property='eg:brandId']").attr('content',[[${goodsInfo.brandGroupNo}]]);
|
|
|
+ $("meta[property='eg:brandName']").attr('content',[[${goodsInfo.brandGroupNm}]]);
|
|
|
+ $("meta[property='eg:regDate']").attr('content',[[${goodsInfo.regDt}]].toDate("YYYYMMDDHHmmss").format("YYYY-MM-DDTHH:mm:ssZ"));
|
|
|
+ $("meta[property='eg:updateDate']").attr('content',[[${goodsInfo.updDt}]].toDate("YYYYMMDDHHmmss").format("YYYY-MM-DDTHH:mm:ssZ"));
|
|
|
+ $("meta[property='eg:stock']").attr('content',"");
|
|
|
+ $("meta[property='eg:state']").attr('content',[[${goodsInfo.goodsStatNm}]]);
|
|
|
+ $("meta[property='eg:description']").attr('content',null);
|
|
|
+ $("meta[property='eg:extraImage']").attr('content',null);
|
|
|
+ $("meta[property='eg:locale']").attr('content',"KR");
|
|
|
+ $("meta[property='eg:isNew']").attr('content',([[${goodsInfo.formalGb}]] == 'G009_10')? 'True' :'False');
|
|
|
+ $("meta[property='eg:etc1']").attr('content', [[${goodsInfo.selfGoodsYn}]]);
|
|
|
+
|
|
|
});
|
|
|
|
|
|
// 상품평 레이어 호출후 콜백에서 호출하므로 여기에 있어야함
|
|
|
@@ -1239,5 +1282,12 @@
|
|
|
/*]]>*/
|
|
|
</script>
|
|
|
</th:block>
|
|
|
+
|
|
|
+
|
|
|
+<!-- 광고 스크립트 -->
|
|
|
+<!-- <th:block th:replace="~{web/common/advertisements/GoodsDetailScriptsWeb :: scripts}"></th:block> -->
|
|
|
+<!-- //광고 스크립트 -->
|
|
|
+
|
|
|
+
|
|
|
</body>
|
|
|
</html>
|