Compare commits
15 Commits
668823a32a
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2e33dc43f3 | ||
|
|
5f3687deb1 | ||
|
|
a59dc92601 | ||
|
|
5527c23171 | ||
|
|
7b24a5395f | ||
|
|
87da1e547e | ||
|
|
889639a63b | ||
|
|
7594ebcb88 | ||
|
|
60f28bae5a | ||
|
|
4ad51df503 | ||
|
|
bb3ecebad1 | ||
|
|
342bea50d6 | ||
|
|
103621fe2a | ||
|
|
8be851c472 | ||
|
|
27301d554b |
@@ -3,6 +3,7 @@ package com.wb.domainserver.domain.admin.store.sopmal.mapper;
|
||||
import java.util.List;
|
||||
|
||||
import com.wb.domainserver.domain.admin.store.sopmal.vo.Shop;
|
||||
import com.wb.domainserver.domain.gcone.goods.goods.vo.BOGoodsVO;
|
||||
import com.wb.domainserver.domain.gcone.promtn.coupon.vo.BOCouponVO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.springframework.stereotype.Repository;
|
||||
@@ -202,4 +203,7 @@ public interface BOMaSopmalMapper {
|
||||
|
||||
/*전체 쇼핑몰 목록*/
|
||||
List<DataMap> selectSopmalList();
|
||||
|
||||
// XML 수정 임시
|
||||
public List<DataMap> selectSitemapXml(String sopmalCd);
|
||||
}
|
||||
|
||||
@@ -19,6 +19,7 @@ import com.wb.domainserver.domain.admin.sys.menu.vo.BOMaMenuVO;
|
||||
import com.wb.domainserver.domain.gcone.goods.goodsinfo.mapper.BOGoodsinfoMapper;
|
||||
import com.wb.domainserver.domain.gcone.goods.goodsinfo.vo.BOGoodsInfoVO;
|
||||
import lombok.Data;
|
||||
import org.apache.commons.text.StringEscapeUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
@@ -984,4 +985,43 @@ public class BOMaSopmalService {
|
||||
return mapper.selectSopmalList();
|
||||
}
|
||||
|
||||
/**
|
||||
* 사이트맵 XML
|
||||
* @param sopmalCd
|
||||
* @return
|
||||
*/
|
||||
@Transactional
|
||||
public String selectSitemapXml(String sopmalCd) {
|
||||
List<DataMap> resultList = new ArrayList<>();
|
||||
StringBuilder xml = new StringBuilder();
|
||||
|
||||
try {
|
||||
xml.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
|
||||
xml.append("<?xml-stylesheet type=\"text/css\" href=\"https://www.xml-sitemaps.com/css/sitemap.css\"?>");
|
||||
xml.append("<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\" xmlns:xhtml=\"http://www.w3.org/1999/xhtml\">\n");
|
||||
|
||||
resultList = mapper.selectSitemapXml(sopmalCd);
|
||||
for (DataMap data : resultList) {
|
||||
xml.append(" <url>");
|
||||
xml.append(" <loc>")
|
||||
.append(StringEscapeUtils.escapeXml11(String.valueOf(data.get("targetUrl"))))
|
||||
.append("</loc>");
|
||||
xml.append(" <lastmod>")
|
||||
.append(StringEscapeUtils.escapeXml11(String.valueOf(data.get("lastModified"))))
|
||||
.append("</lastmod>");
|
||||
xml.append(" <priority>")
|
||||
.append(StringEscapeUtils.escapeXml11(String.valueOf(data.get("priority"))))
|
||||
.append("</priority>");
|
||||
xml.append(" </url>");
|
||||
}
|
||||
|
||||
xml.append("</urlset>");
|
||||
} catch (WnbtRestException wre){
|
||||
throw new WnbtRestException(wre.getMessage());
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage(), e);
|
||||
}
|
||||
|
||||
return xml.toString();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -75,6 +75,8 @@ public class BOGnrlbbscttVO extends AbstractVO {
|
||||
@Length(max = 16777215, message = "내용")
|
||||
/** 내용 */
|
||||
private String cn;
|
||||
/** 내용 */
|
||||
private String relateGoodsWords;
|
||||
/** 조회건수 */
|
||||
private Integer inqireCnt;
|
||||
/** 댓글건수 */
|
||||
|
||||
@@ -305,6 +305,14 @@ public class GoodsController {
|
||||
public String selectGoodsListForm(HttpServletRequest request,
|
||||
BOGoodsVO vo,
|
||||
ModelMap model) {
|
||||
String mobileParentCtgryId = request.getParameter("mobileParentCtgryId");
|
||||
String mobileCurrentCtgryId = request.getParameter("mobileCurrentCtgryId");
|
||||
boolean mobileSubCategorySelected = mobileParentCtgryId != null && !mobileParentCtgryId.isBlank()
|
||||
&& mobileCurrentCtgryId != null && !mobileCurrentCtgryId.isBlank();
|
||||
if (mobileSubCategorySelected) {
|
||||
vo.setCtgryId(mobileParentCtgryId);
|
||||
}
|
||||
|
||||
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
|
||||
if("01".equals(user.getSysDvCd())){
|
||||
vo.setSopmalCd(user.getSopmalCd());
|
||||
@@ -322,7 +330,7 @@ public class GoodsController {
|
||||
//검색한 카테고리 정보로 vo 세팅
|
||||
if(!CollectionUtils.isEmpty(goodsCategoryList)){
|
||||
vo.setUpperCtgryId(goodsCategoryList.get(0).get("baseCtgryId").toString());
|
||||
vo.setCtgryId(goodsCategoryList.get(0).get("baseCtgryId").toString());
|
||||
vo.setCtgryId(mobileSubCategorySelected ? mobileCurrentCtgryId : goodsCategoryList.get(0).get("baseCtgryId").toString());
|
||||
}else{
|
||||
vo.setUpperCtgryId("0");
|
||||
vo.setCtgryId("0");
|
||||
|
||||
@@ -198,6 +198,20 @@ public class MainController {
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 사이트맵 XML
|
||||
* @return
|
||||
*/
|
||||
@Policy(AuthPolicy.PUBLIC)
|
||||
@RequestMapping(value="/sitemap", produces = MediaType.APPLICATION_XML_VALUE)
|
||||
public ResponseEntity<String> selectSitemapXml() {
|
||||
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
|
||||
String xml = boMaSopmalService.selectSitemapXml(user.getSopmalCd());
|
||||
|
||||
return ResponseEntity.ok().contentType(MediaType.APPLICATION_XML).body(xml);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 비회원 휴대폰번호 확인
|
||||
* @return OrdrDtlR.jsp
|
||||
|
||||
@@ -1569,5 +1569,124 @@
|
||||
AND GD.USE_AT = 'Y'
|
||||
</select>
|
||||
|
||||
<!-- 사이트맵 XML -->
|
||||
<select id="selectSitemapXml"
|
||||
parameterType="String"
|
||||
resultType="dataMap">
|
||||
WITH RECURSIVE CATEGORY_TREE AS (
|
||||
SELECT
|
||||
GC.CTGRY_ID
|
||||
, GC.UPPER_CTGRY_ID
|
||||
, GC.SOPMAL_CD
|
||||
, GC.CTGRY_NM
|
||||
, GC.CTGRY_DEPTH
|
||||
, GC.SORT_ORDR
|
||||
, GC.CTGRY_DV_CD
|
||||
, GC.EXPSR_CD
|
||||
, GC.URL_DV_CD
|
||||
, CASE
|
||||
WHEN GC.URL_DV_CD = '01' THEN ''
|
||||
WHEN GC.URL_DV_CD = '02' THEN GC.URL
|
||||
ELSE NULL
|
||||
END URL
|
||||
, GC.USE_AT
|
||||
, GC.EXPSR_BGN_DT
|
||||
, GC.EXPSR_END_DT
|
||||
FROM GC_CATEGORY GC
|
||||
WHERE GC.SOPMAL_CD = #{sopmalCd}
|
||||
AND GC.UPPER_CTGRY_ID IS NULL
|
||||
AND GC.USE_AT = 'Y'
|
||||
AND (
|
||||
GC.EXPSR_CD = '01'
|
||||
OR (
|
||||
GC.EXPSR_CD = '03'
|
||||
AND SYSDATE() BETWEEN GC.EXPSR_BGN_DT AND GC.EXPSR_END_DT
|
||||
)
|
||||
)
|
||||
UNION ALL
|
||||
SELECT
|
||||
CHILD.CTGRY_ID
|
||||
, CHILD.UPPER_CTGRY_ID
|
||||
, CHILD.SOPMAL_CD
|
||||
, CHILD.CTGRY_NM
|
||||
, CHILD.CTGRY_DEPTH
|
||||
, CHILD.SORT_ORDR
|
||||
, CHILD.CTGRY_DV_CD
|
||||
, CHILD.EXPSR_CD
|
||||
, CHILD.URL_DV_CD
|
||||
, CASE
|
||||
WHEN CHILD.URL_DV_CD = '01' THEN
|
||||
CASE
|
||||
WHEN CHILD.CTGRY_DV_CD = '01' THEN CONCAT('/sopmal/goods/selectGoodsListForm?ctgryId=', CHILD.CTGRY_ID)
|
||||
ELSE NULL
|
||||
END
|
||||
WHEN CHILD.URL_DV_CD = '02' THEN CHILD.URL
|
||||
ELSE NULL
|
||||
END URL
|
||||
, CHILD.USE_AT
|
||||
, CHILD.EXPSR_BGN_DT
|
||||
, CHILD.EXPSR_END_DT
|
||||
FROM GC_CATEGORY CHILD
|
||||
INNER JOIN CATEGORY_TREE PARENT
|
||||
ON CHILD.SOPMAL_CD = PARENT.SOPMAL_CD
|
||||
AND CHILD.UPPER_CTGRY_ID = PARENT.CTGRY_ID
|
||||
WHERE CHILD.USE_AT = 'Y'
|
||||
AND (
|
||||
CHILD.EXPSR_CD = '01'
|
||||
OR (
|
||||
CHILD.EXPSR_CD = '03'
|
||||
AND SYSDATE() BETWEEN CHILD.EXPSR_BGN_DT AND CHILD.EXPSR_END_DT
|
||||
)
|
||||
)
|
||||
)
|
||||
SELECT CONCAT(GS.PC_DOMN_ADRES, GC.URL) AS TARGET_URL
|
||||
, DATE_FORMAT(SYSDATE(), '%Y-%m-%dT%H:%i:%s+09:00') AS LAST_MODIFIED
|
||||
, ROUND(POWER(0.8, GC.CTGRY_DEPTH - 1), 4) AS PRIORITY
|
||||
FROM CATEGORY_TREE GC
|
||||
INNER JOIN GC_SHOP GS
|
||||
ON GC.SOPMAL_CD = GS.SOPMAL_CD
|
||||
WHERE GC.CTGRY_DV_CD != '02'
|
||||
AND GC.CTGRY_DEPTH != 2
|
||||
UNION
|
||||
SELECT CONCAT(GS.PC_DOMN_ADRES, '/sopmal/goods/selectGoodsDtl?goodsInnb=', GG.GOODS_INNB) AS TARGET_URL
|
||||
, DATE_FORMAT(GG.UPDT_DT, '%Y-%m-%dT%H:%i:%s+09:00') AS LAST_MODIFIED
|
||||
, ROUND(POWER(0.8, 1), 4) AS PRIORITY
|
||||
FROM GC_GOODS GG
|
||||
INNER JOIN GC_SHOP GS
|
||||
ON GG.SOPMAL_CD = GS.SOPMAL_CD
|
||||
WHERE GG.USE_AT = 'Y'
|
||||
AND GG.SOPMAL_CD = #{sopmalCd}
|
||||
AND GG.GOODS_KND_CD = '01'
|
||||
AND GG.EXPSR_DV_CD = '01'
|
||||
AND GG.GOODS_STTUS_CD IN ('01', '02')
|
||||
UNION
|
||||
SELECT CONCAT(GS.PC_DOMN_ADRES, '/sopmal/csc/selectBbscttAuth?authDv=CM&bbsTyCd=',
|
||||
CASE
|
||||
WHEN GB.BBS_ID = 'sake_column' THEN '01'
|
||||
WHEN GB.BBS_ID = 'magazine' THEN '09'
|
||||
ELSE NULL
|
||||
END,
|
||||
'&bbscttInnb=', GB.BBSCTT_INNB,
|
||||
'&reqUrl=subPage&bbsId=', GB.BBS_ID,
|
||||
'&cscAt='
|
||||
) AS TARGET_URL
|
||||
, DATE_FORMAT(GB.UPDT_DT, '%Y-%m-%dT%H:%i:%s+09:00') AS LAST_MODIFIED
|
||||
, ROUND(POWER(0.8, 1), 4) AS PRIORITY
|
||||
FROM GC_BOARDDATA GB
|
||||
INNER JOIN GC_SHOP GS
|
||||
ON GB.SOPMAL_CD = GS.SOPMAL_CD
|
||||
WHERE GB.USE_AT = 'Y'
|
||||
AND GB.EXPSR_AT = 'Y'
|
||||
AND (
|
||||
GB.NTCE_PD_SETUP_AT = 'N'
|
||||
OR (
|
||||
GB.NTCE_PD_SETUP_AT = 'Y'
|
||||
AND DATE_FORMAT(SYSDATE(), '%Y-%m-%d') BETWEEN DATE_FORMAT(GB.NTCE_BGN_DE, '%Y-%m-%d') AND DATE_FORMAT(GB.NTCE_END_DE, '%Y-%m-%d')
|
||||
)
|
||||
)
|
||||
AND GB.BBS_ID IN ('sake_column', 'magazine')
|
||||
AND depth = 0
|
||||
ORDER BY PRIORITY DESC
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
|
||||
@@ -1767,6 +1767,7 @@
|
||||
,CAST(AES_DECRYPT(UNHEX(FB.ANSW_MBTLNB) , #{secretKey}) AS CHAR(50)) AS ANSW_MBTLNB
|
||||
,FB.ANSW_SMS_RECPTN
|
||||
,FB.SJ
|
||||
,FB.RELATE_GOODS_WORDS
|
||||
,FB.SORT_ORDR
|
||||
,FB.USE_AT
|
||||
,IFNULL(FBM.MNGR_NM, '관리자') AS MNGR_NM
|
||||
@@ -1927,6 +1928,7 @@
|
||||
,CAST(AES_DECRYPT(UNHEX(FB.ANSW_MBTLNB) , #{secretKey}) AS CHAR(50)) AS ANSW_MBTLNB
|
||||
,FB.ANSW_SMS_RECPTN
|
||||
,FB.SJ
|
||||
,FB.RELATE_GOODS_WORDS
|
||||
,FB.SORT_ORDR
|
||||
,FB.USE_AT
|
||||
,FB.CN_SCRIPT
|
||||
@@ -2039,6 +2041,9 @@
|
||||
PASSWORD,
|
||||
SJ,
|
||||
CN,
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(relateGoodsWords)">
|
||||
RELATE_GOODS_WORDS,
|
||||
</if>
|
||||
INQIRE_CNT,
|
||||
CM_USE_AT,
|
||||
RECOMEND_CNT,
|
||||
@@ -2087,6 +2092,9 @@
|
||||
MD5(#{password}),
|
||||
#{sj},
|
||||
#{cn},
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(relateGoodsWords)">
|
||||
#{relateGoodsWords},
|
||||
</if>
|
||||
0,
|
||||
IFNULL(#{cmUseAt},'N'),
|
||||
0,
|
||||
@@ -2133,6 +2141,9 @@
|
||||
SET
|
||||
SJ = #{sj},
|
||||
CN = #{cn},
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(relateGoodsWords)">
|
||||
RELATE_GOODS_WORDS = #{relateGoodsWords},
|
||||
</if>
|
||||
CM_USE_AT =IFNULL(#{cmUseAt},'N'),
|
||||
SORT_ORDR = #{sortOrdr},
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(represntFileInfo)">
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 4.4 KiB |
@@ -4269,6 +4269,9 @@ body {
|
||||
.header--sub:has(.headerTab) ~ .content-wrap {
|
||||
padding-top: 96px;
|
||||
}
|
||||
.header--sub:has(.mobile-about-menu) ~ .content-wrap {
|
||||
padding-top: 96px;
|
||||
}
|
||||
.header--sub::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
@@ -5706,6 +5709,12 @@ body {
|
||||
color: #16191d;
|
||||
font-weight: 400;
|
||||
}
|
||||
.mainNotice__customerContact-alwaysonbottom {
|
||||
position: fixed;
|
||||
left: 10px;
|
||||
bottom: 60px;
|
||||
z-index: 10;
|
||||
}
|
||||
.icon_kakao-customer-service {
|
||||
width: 72px;
|
||||
height: 72px;
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 53 KiB |
@@ -5574,6 +5574,12 @@ main {
|
||||
color: #212529;
|
||||
text-align: center;
|
||||
}
|
||||
.quick-menu__customer-service-alwaysonbottom {
|
||||
position: fixed;
|
||||
left: 20px;
|
||||
bottom: 20px;
|
||||
z-index: 10;
|
||||
}
|
||||
.quick-menu > * + * {
|
||||
margin-top: 16px;
|
||||
}
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 53 KiB |
@@ -525,3 +525,10 @@
|
||||
<div class="loadingImg" style="display:none; position: relative; z-index: 1010;">
|
||||
<div class="loding_popup_wrap"><img src="/mobile/images/loading.svg" alt="loading"></div>
|
||||
</div>
|
||||
<!--고객센터 아이콘-->
|
||||
<div class="quick-menu__customer-service-alwaysonbottom"
|
||||
onclick="window.open('http://pf.kakao.com/_xjxjHxnX', '_blank');">
|
||||
<i class="icon icon_kakao-customer-service"></i>
|
||||
<span class="visually-hidden">고객센터</span>
|
||||
<%-- <span class="quick-menu__customer-service__num">문의는 카톡으로 </span>--%>
|
||||
</div>
|
||||
@@ -35,6 +35,28 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<c:if test="${param.mobileAboutMenuAt eq 'Y' && not empty param.mobileParentCtgryId}">
|
||||
<c:set var="mobileAboutCurrentCtgryId" value="${param.mobileCurrentCtgryId}"/>
|
||||
<nav class="home-category mobile-about-menu" aria-label="하위 메뉴">
|
||||
<div class="home-category__content">
|
||||
<ul class="home-category__list">
|
||||
<c:forEach var="topMenuList" items="${sopmallInfo.menuList}">
|
||||
<c:if test="${topMenuList.ctgryDvCd eq '01' && topMenuList.rnum eq '3' && topMenuList.upperCtgryId eq param.mobileParentCtgryId && topMenuList.menuExpsrAt eq 'Y'}">
|
||||
<c:if test="${empty mobileAboutCurrentCtgryId}">
|
||||
<c:set var="mobileAboutCurrentCtgryId" value="${topMenuList.ctgryId}"/>
|
||||
</c:if>
|
||||
<li class="home-category__item<c:if test="${topMenuList.ctgryId eq mobileAboutCurrentCtgryId}"> active</c:if>">
|
||||
<a href="<c:out value="${topMenuList.url}"/><c:choose><c:when test="${fn:contains(topMenuList.url, '?')}">&</c:when><c:otherwise>?</c:otherwise></c:choose>mobileParentCtgryId=<c:out value="${param.mobileParentCtgryId}"/>&mobileAboutMenuAt=Y&mobileCurrentCtgryId=<c:out value="${topMenuList.ctgryId}"/>"
|
||||
class="home-category__link">
|
||||
<c:out value="${topMenuList.ctgryNm}"/>
|
||||
</a>
|
||||
</li>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
</c:if>
|
||||
</div>
|
||||
<script>
|
||||
//뒤로가기 이벤트 부여, 각 페이지 마다 이벤트 삭제 후 다른 이벤트 사용 가능
|
||||
|
||||
@@ -1070,10 +1070,11 @@
|
||||
<c:if test="${topMenuList.gnbExpsrAt eq 'Y'}">
|
||||
<c:if test="${topMenuList.rnum eq '2'}">
|
||||
<c:set var="mDpth3Chk" value="N"/>
|
||||
<c:set var="mobileAboutParentAt" value="${topMenuList.ctgryNm eq 'ABOUT'}"/>
|
||||
<li class="isSub list">
|
||||
<div class="isSubDv">
|
||||
<a href="<c:out value="${topMenuList.url}"/>" class="depth"><c:out value ="${topMenuList.ctgryNm}"/><em class="visually-hidden">상세내용닫기</em></a>
|
||||
<a href="<c:out value="${topMenuList.url}"/>" class="moer"></a>
|
||||
<a href="<c:out value="${topMenuList.url}"/><c:choose><c:when test="${fn:contains(topMenuList.url, '?')}">&</c:when><c:otherwise>?</c:otherwise></c:choose>mobileParentCtgryId=<c:out value="${topMenuList.ctgryId}"/><c:if test="${topMenuList.ctgryNm eq 'ABOUT'}">&mobileAboutMenuAt=Y</c:if>" class="depth"><c:out value ="${topMenuList.ctgryNm}"/><em class="visually-hidden">상세내용닫기</em></a>
|
||||
<a href="<c:out value="${topMenuList.url}"/><c:choose><c:when test="${fn:contains(topMenuList.url, '?')}">&</c:when><c:otherwise>?</c:otherwise></c:choose>mobileParentCtgryId=<c:out value="${topMenuList.ctgryId}"/><c:if test="${topMenuList.ctgryNm eq 'ABOUT'}">&mobileAboutMenuAt=Y</c:if>" class="moer"></a>
|
||||
</div>
|
||||
</c:if>
|
||||
<c:if test="${topMenuList.rnum eq '3'}">
|
||||
@@ -1082,7 +1083,7 @@
|
||||
<c:set var="mDpth3Chk" value="Y"/>
|
||||
<ul class="view">
|
||||
</c:if>
|
||||
<li><a href='<c:out value="${topMenuList.url}"/>'><c:out value ="${topMenuList.ctgryNm}"/></a></li>
|
||||
<li><a href="<c:out value="${topMenuList.url}"/><c:choose><c:when test="${fn:contains(topMenuList.url, '?')}">&</c:when><c:otherwise>?</c:otherwise></c:choose>mobileParentCtgryId=<c:out value="${topMenuList.upperCtgryId}"/>&mobileCurrentCtgryId=<c:out value="${topMenuList.ctgryId}"/><c:if test="${mobileAboutParentAt}">&mobileAboutMenuAt=Y</c:if>"><c:out value ="${topMenuList.ctgryNm}"/></a></li>
|
||||
</c:if>
|
||||
<c:if test="${topMenuList.rnum < 4}">
|
||||
<c:set var="chkUpperMenuCd" value="${topMenuList.upperCtgryId}"/>
|
||||
@@ -1233,6 +1234,12 @@
|
||||
|
||||
<div id="mbrMarktClauseAgreeDiv"></div>
|
||||
|
||||
<%--고객센터 아이콘--%>
|
||||
<div class="mainNotice__customerContact-alwaysonbottom" style="display: none;"
|
||||
onclick="window.open('http://pf.kakao.com/_xjxjHxnX', '_blank');">
|
||||
<i class="icon icon_kakao-customer-service"></i>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
|
||||
/*최초 로그인시 마케팅 수신동의를 받지 않았을 경우 마케팅 수신동의 팝업 띄우기*/
|
||||
@@ -1271,6 +1278,16 @@ $(document).ready(function() {
|
||||
if(locationUrl.includes("selectMbrPurchsForm")){
|
||||
document.cookie = 'marktAgreeAt=P; path=/'
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
var $notice = $('.mainNotice__customerContact-alwaysonbottom');
|
||||
|
||||
if ($('.tab-bar').length) {
|
||||
$notice.fadeIn(500);
|
||||
} else if ($('.productDetail').length) {
|
||||
$notice.css('bottom', '70px').fadeIn(500);
|
||||
}
|
||||
});
|
||||
})
|
||||
|
||||
//광고 수신동의여부 수정
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
<c:if test="${topMenuList.ctgryDvCd eq '01' && topMenuList.menuExpsrAt eq 'Y'}">
|
||||
<c:if test="${topMenuList.rnum eq '2'}">
|
||||
<li class="home-category__item">
|
||||
<a href="<c:out value="${topMenuList.url}"/>" onclick="setTopMenuCode()" <c:if test="${not empty topMenuList.menuChrColor}"> style="color:${topMenuList.menuChrColor};"</c:if>><c:out value ="${topMenuList.ctgryNm}"/></a>
|
||||
<a href="<c:out value="${topMenuList.url}"/><c:choose><c:when test="${fn:contains(topMenuList.url, '?')}">&</c:when><c:otherwise>?</c:otherwise></c:choose>mobileParentCtgryId=<c:out value="${topMenuList.ctgryId}"/><c:if test="${topMenuList.ctgryNm eq 'ABOUT'}">&mobileAboutMenuAt=Y</c:if>" onclick="setTopMenuCode()" <c:if test="${not empty topMenuList.menuChrColor}"> style="color:${topMenuList.menuChrColor};"</c:if>><c:out value ="${topMenuList.ctgryNm}"/></a>
|
||||
</li>
|
||||
</c:if>
|
||||
</c:if>
|
||||
|
||||
@@ -1272,6 +1272,14 @@
|
||||
</div>
|
||||
</c:if>
|
||||
</div>
|
||||
<%--<div class="quick-menu__customer-service"
|
||||
onclick="window.open('http://pf.kakao.com/_xjxjHxnX', '_blank');">
|
||||
<i class="icon icon_kakao-customer-service"></i>
|
||||
<span class="visually-hidden">고객센터</span>
|
||||
<span class="quick-menu__customer-service__num">
|
||||
문의는 카톡으로
|
||||
</span>
|
||||
</div>--%>
|
||||
<div class="quick-menu__to-top">
|
||||
<button><i class="icon icon_quick-to-top"></i><span class="visually-hidden">위로
|
||||
가기</span></button>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui" %>
|
||||
<%@ taglib prefix="f" uri="/WEB-INF/tlds/f.tld" %>
|
||||
<%@ page import="java.util.Date" %>
|
||||
<spring:eval expression="@environment.getProperty('currency-unit.default')" var="curUnit"/>
|
||||
<%--
|
||||
Class Name : GnrlBbscttDtlPopupR.jsp
|
||||
Description : 일반 게시글 상세 조회 화면
|
||||
@@ -143,7 +143,7 @@
|
||||
<c:if test="${bbsInfo.goodsChoice eq 'Y' }">
|
||||
<c:if test="${not empty goodsList}">
|
||||
<tr>
|
||||
<th>상품정보</th>
|
||||
<th>상품 정보</th>
|
||||
<td colspan="3">
|
||||
<div class="product-search-box__product parentGoodsContainer">
|
||||
<c:forEach var="goods" items="${goodsList}">
|
||||
@@ -161,7 +161,7 @@
|
||||
<div class="product-group__description">
|
||||
<p><c:out value="${goods.goodsNm}"/></p>
|
||||
<p class="product-group__description-price"><fmt:formatNumber
|
||||
value="${goods.slepric}" pattern="#,###"/>원</p>
|
||||
value="${goods.slepric}" pattern="#,###"/>${curUnit}</p>
|
||||
</div>
|
||||
<c:if test="${bbsInfo.bbsTyCd eq '05'}">
|
||||
<input hidden id="goodsInnb" value="${goods.goodsInnb}"/>
|
||||
@@ -171,6 +171,14 @@
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>상품 정보 문구</th>
|
||||
<td colspan="3">
|
||||
<div class="td-inner" id="relateGoodsWords">
|
||||
${bbscttInfo.relateGoodsWords}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</c:if>
|
||||
</c:if>
|
||||
<tr>
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
<%@include file ="/WEB-INF/views/comm/mngr/Include.jsp" %>
|
||||
<script src="<c:url value='/js/fileupload_comm.js'/>"></script>
|
||||
<spring:eval expression="@environment.getProperty('mngrfo.common.fileupload.cdnurl')" var="cdnurl"/>
|
||||
<spring:eval expression="@environment.getProperty('currency-unit.default')" var="curUnit"/>
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
/************************************************
|
||||
@@ -1515,6 +1516,7 @@
|
||||
selected.forEach((good, index) => {
|
||||
let goodsPrice = fn_format_comma(good.goodsPrice);
|
||||
let slepric = fn_format_comma(good.goodsPrice);
|
||||
let curUnit = '${curUnit}';
|
||||
var productHtml = `
|
||||
<div class="product-group__item">
|
||||
<input type="hidden" id="relatedGoodsId" name="relatedGoodsId" value="\${good.goodsId}">
|
||||
@@ -1528,7 +1530,7 @@
|
||||
</button>
|
||||
<div class="product-group__description">
|
||||
<p>\${good.goodsNm}</p>
|
||||
<p class="product-group__description-price">\${goodsPrice}</p>
|
||||
<p class="product-group__description-price">\${goodsPrice}\${curUnit}</p>
|
||||
</div>
|
||||
<%--게시글 연관 상품--%>
|
||||
<input type="hidden" name="goodsInnbArr[]" value="\${good.goodsId}"/>
|
||||
|
||||
@@ -280,8 +280,8 @@
|
||||
</td>
|
||||
</c:if>
|
||||
</tr>
|
||||
<tr class="visibleAt">
|
||||
<c:if test="${bbsInfo.goodsChoice eq 'Y'}">
|
||||
<tr class="visibleAt">
|
||||
<th>상품 정보
|
||||
<button type="button" class="btn xsm primary ml-5"
|
||||
onclick="fn_open_modal('#modalDiv',
|
||||
@@ -298,8 +298,16 @@
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</c:if>
|
||||
</tr>
|
||||
<tr class="visibleAt">
|
||||
<th>상품 정보 문구</th>
|
||||
<td colspan="3">
|
||||
<div class="td-inner">
|
||||
<input class="input-text full" type="text" title="해당 인풋에 대한 설명" placeholder="관련 상품 문구를 입력해 주세요." name="relateGoodsWords" maxlength="50" value="이 글과 관련된 사케">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</c:if>
|
||||
<c:if test="${not empty qesitmList}">
|
||||
<tr>
|
||||
<th>추가 입력 항목</th>
|
||||
|
||||
@@ -6,6 +6,8 @@
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||
<%@ taglib prefix="f" uri="/WEB-INF/tlds/f.tld"%>
|
||||
<spring:eval expression="@environment.getProperty('mngrfo.common.fileupload.cdnurl')" var="cdnurl"/>
|
||||
<spring:eval expression="@environment.getProperty('currency-unit.default')" var="curUnit"/>
|
||||
<%--
|
||||
Class Name : GnrlBbscttUpdtPopupU.jsp
|
||||
Description : 일반 게시글 등록 팝업
|
||||
@@ -15,7 +17,6 @@
|
||||
------- -------- ---------------------------
|
||||
2024-01-08 김혜지 최초 생성
|
||||
--%>
|
||||
<spring:eval expression="@environment.getProperty('mngrfo.common.fileupload.cdnurl')" var="cdnurl"/>
|
||||
<div id="board-list-update" class="modal" style="max-width: 1400px;">
|
||||
<div class="modal-header">
|
||||
<h4>게시글 수정</h4>
|
||||
@@ -474,8 +475,8 @@
|
||||
</td>
|
||||
</c:if>
|
||||
</tr>
|
||||
<tr class ="visibleAt">
|
||||
<c:if test = "${bbsInfo.goodsChoice eq 'Y'}">
|
||||
<tr class ="visibleAt">
|
||||
<th>상품 정보
|
||||
<c:choose>
|
||||
<c:when test = "${not empty goods}">
|
||||
@@ -510,7 +511,7 @@
|
||||
</button>
|
||||
<div class="product-group__description">
|
||||
<p><c:out value="${goods.goodsNm}"/></p>
|
||||
<p class="product-group__description-price"><fmt:formatNumber value="${goods.slepric}" pattern="#,###"/>원</p>
|
||||
<p class="product-group__description-price"><fmt:formatNumber value="${goods.slepric}" pattern="#,###"/>${curUnit}</p>
|
||||
</div>
|
||||
<%--게시글 연관 상품--%>
|
||||
<input type="hidden" name="goodsInnbArr[]" value="${goods.goodsInnb}"/>
|
||||
@@ -520,8 +521,16 @@
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</c:if>
|
||||
</tr>
|
||||
<tr class="visibleAt">
|
||||
<th>상품 정보 문구</th>
|
||||
<td colspan="3">
|
||||
<div class="td-inner">
|
||||
<input class="input-text full" type="text" title="해당 인풋에 대한 설명" placeholder="관련 상품 문구를 입력해 주세요." name="relateGoodsWords" maxlength="50" value = "${bbscttInfo.relateGoodsWords}">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</c:if>
|
||||
<c:if test="${not empty qesitmList}">
|
||||
<tr>
|
||||
<th>추가 입력 항목</th>
|
||||
|
||||
@@ -133,6 +133,17 @@
|
||||
});
|
||||
}
|
||||
|
||||
/* ********************************************************
|
||||
* xml 임시
|
||||
******************************************************** */
|
||||
const fn_update_xml = function () {
|
||||
const url = '<c:url value="/mngr/goods/goodsmngr/selectGoodsRegistForm"/>';
|
||||
|
||||
$('#listForm').attr('action', url);
|
||||
$('#listForm').attr('method', 'post');
|
||||
$('#listForm').submit();
|
||||
};
|
||||
|
||||
/* ********************************************************
|
||||
* 등록폼 이동
|
||||
******************************************************** */
|
||||
@@ -441,6 +452,7 @@
|
||||
<div class="page-title">
|
||||
<h2 class="page-title__title">상품 목록</h2>
|
||||
<div class="page-title__btn-container">
|
||||
<button onclick="fn_update_xml()" class="btn primary">XML 업데이트(임시)</button>
|
||||
<button onclick="fn_move_regpage()" class="btn primary">상품 <spring:message code="button.insert"/></button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -446,7 +446,8 @@
|
||||
* 열 헤더, 푸터 > 프린트 버튼 클릭 이벤트
|
||||
*/
|
||||
$(document).on('click', '[class*="btn-order-print"]', function() {
|
||||
const tr = ($(this).attr('class').split(' ')[0]).replace('btn-order-print-', 'order-sttus-cd-');
|
||||
fn_select_dwld_purch_ordr_list();
|
||||
/*const tr = ($(this).attr('class').split(' ')[0]).replace('btn-order-print-', 'order-sttus-cd-');
|
||||
const rowCheckboxs = $('.' + tr).closest('#orderList').find('.' + tr + ' input[name="ordrInnb"]:checked');
|
||||
|
||||
if (rowCheckboxs.length === 0) {
|
||||
@@ -461,7 +462,7 @@
|
||||
ordrInnbs.push($(item).val());
|
||||
});
|
||||
|
||||
fn_go_ordr_dtstmn_dwld_popup(ordrInnbs)
|
||||
fn_go_ordr_dtstmn_dwld_popup(ordrInnbs)*/
|
||||
});
|
||||
|
||||
/*
|
||||
|
||||
@@ -948,7 +948,14 @@
|
||||
<div class="main-section-header">
|
||||
<div class="main-section-title">
|
||||
<h3 class="main-section-title__title">
|
||||
추천 상품
|
||||
<c:choose>
|
||||
<c:when test = "${not empty bbscttInfo.relateGoodsWords}">
|
||||
<c:out value="${bbscttInfo.relateGoodsWords}" escapeXml="false"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
이 글과 관련된 사케
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -27,9 +27,15 @@
|
||||
history.scrollRestoration = 'manual';
|
||||
}
|
||||
$(window).scrollTop(0);
|
||||
/*헤더에 타이틀 set*/
|
||||
const title = '<c:out value="${resultMap.bbsInfo.bbsNm}"/>';
|
||||
fn_set_header_title(title);
|
||||
/* ABOUT 하위 화면은 게시판명이 아닌 대메뉴명을 표시 */
|
||||
<c:choose>
|
||||
<c:when test="${param.mobileAboutMenuAt eq 'Y'}">
|
||||
fn_set_header_title('ABOUT');
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
fn_set_header_title('<c:out value="${resultMap.bbsInfo.bbsNm}"/>');
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
fn_select_cn();
|
||||
// data-micromodal-trigger 속성을 가진 버튼을 클릭하면 해당 ID의 모달이 열림
|
||||
// 모달 배경화면 스크롤 방지
|
||||
@@ -1253,6 +1259,7 @@
|
||||
<i class="icon icon_lock"></i>
|
||||
</c:if>
|
||||
</h4>
|
||||
<c:if test="${param.mobileAboutMenuAt ne 'Y'}">
|
||||
<ul class="eventDetail__list">
|
||||
<c:if test="${bbsInfo.registDtYn eq 'Y'}">
|
||||
<li><c:out value="${bbscttInfo.sumRegistDt}"/></li>
|
||||
@@ -1294,6 +1301,7 @@
|
||||
</c:choose>
|
||||
</li>
|
||||
</ul>
|
||||
</c:if>
|
||||
</div>
|
||||
<%-------------------------------%>
|
||||
<%--첨부 파일 다운로드 영역--%>
|
||||
@@ -1753,6 +1761,9 @@
|
||||
</div>
|
||||
</div>
|
||||
<form id="hiddenForm">
|
||||
<input type="hidden" name="mobileParentCtgryId" value="<c:out value="${param.mobileParentCtgryId}"/>"/>
|
||||
<input type="hidden" name="mobileAboutMenuAt" value="<c:out value="${param.mobileAboutMenuAt}"/>"/>
|
||||
<input type="hidden" name="mobileCurrentCtgryId" value="<c:out value="${param.mobileCurrentCtgryId}"/>"/>
|
||||
<%--목록 관련--%>
|
||||
<input type="hidden" name="pageIndex" value="<c:out value="${bbscttVO.pageIndex}"/>"/>
|
||||
<input type="hidden" name="bbsTyCd" value="<c:out value="${bbscttVO.bbsTyCd}"/>"/>
|
||||
|
||||
@@ -314,6 +314,9 @@
|
||||
</div>
|
||||
</form>
|
||||
<form id = "dtlForm" action="/sopmal/csc/selectBbscttDtlInqire" method="get">
|
||||
<input type="hidden" name="mobileParentCtgryId" value="<c:out value="${param.mobileParentCtgryId}"/>"/>
|
||||
<input type="hidden" name="mobileAboutMenuAt" value="<c:out value="${param.mobileAboutMenuAt}"/>"/>
|
||||
<input type="hidden" name="mobileCurrentCtgryId" value="<c:out value="${param.mobileCurrentCtgryId}"/>"/>
|
||||
<input type="hidden" name="bbscttInnb" id="bbscttInnb"><%--게시글 고유번호--%>
|
||||
<input type="hidden" name="bbsId" value="<c:out value = "${bbsInfo.bbsId}"/>"/><%--게시판아이디--%>
|
||||
<input type="hidden" name="bbsTyCd" value="<c:out value = "${bbsInfo.bbsTyCd}"/>"/><%--게시판타입--%>
|
||||
|
||||
@@ -39,9 +39,15 @@
|
||||
awaitCloseAnimation: true,
|
||||
});
|
||||
|
||||
/*헤더에 타이틀 set*/
|
||||
const title = '<c:out value="${resultMap.bbsInfo.bbsNm}"/>';/*게시판이름*/
|
||||
fn_set_header_title(title);
|
||||
/* ABOUT 하위 화면은 게시판명이 아닌 대메뉴명을 표시 */
|
||||
<c:choose>
|
||||
<c:when test="${param.mobileAboutMenuAt eq 'Y'}">
|
||||
fn_set_header_title('ABOUT');
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
fn_set_header_title('<c:out value="${resultMap.bbsInfo.bbsNm}"/>');
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
|
||||
/*box_tab 클릭 이벤트*/
|
||||
$(".headerTab__item").on("click", function () {
|
||||
@@ -347,6 +353,11 @@
|
||||
fn_create_input("reqUrl","subPage", form);
|
||||
fn_create_input("bbsId", $("#bbsId").val(), form);
|
||||
fn_create_input("cscAt", $("#cscAt").val(), form);
|
||||
<c:if test="${param.mobileAboutMenuAt eq 'Y'}">
|
||||
fn_create_input("mobileParentCtgryId", '<c:out value="${param.mobileParentCtgryId}"/>', form);
|
||||
fn_create_input("mobileAboutMenuAt", 'Y', form);
|
||||
fn_create_input("mobileCurrentCtgryId", '<c:out value="${param.mobileCurrentCtgryId}"/>', form);
|
||||
</c:if>
|
||||
/*let pageUnit = '';
|
||||
//페이지 유닛 계산
|
||||
const pgeVtcCnt = $("#pgeVtcCnt").val();//ROW
|
||||
@@ -570,7 +581,7 @@
|
||||
let regusrNm;
|
||||
if (resultList.regusrDvCd === '99') {
|
||||
regusrNm = `\${ resultList.maskingRegusrNm}[비회원]`;
|
||||
} else if (resultList.regusrDvCd === '03' && resultList.npayBbscttSnb !== null) {
|
||||
} else if (resultList.regusrDvCd === '03' && resultList.npayBbscttSnb != null) {
|
||||
regusrNm = `naverpay`;
|
||||
} else if (resultList.regusrDvCd === '02') {
|
||||
regusrNm = `\${ resultList.mngrNm}`;
|
||||
@@ -631,7 +642,7 @@
|
||||
// 비밀글 여부
|
||||
if (resultList.secretBbscttAt === 'Y') {
|
||||
if (resultList.regusrDvCd !== '02') {
|
||||
if (resultList.answCn !== null) {
|
||||
if (resultList.answCn != null) {
|
||||
list += `[\${resultList.answCn}] `;
|
||||
}
|
||||
list += `<span>\${resultList.maskingRegusrNm}</span>님의 \${bbsInfo.bbsNm}`;
|
||||
@@ -639,7 +650,7 @@
|
||||
list += `비밀글입니다.`;
|
||||
}
|
||||
} else {
|
||||
if (resultList.answCn !== null) {
|
||||
if (resultList.answCn != null) {
|
||||
list += `[\${resultList.answCn}] `;
|
||||
}
|
||||
list += sj;
|
||||
@@ -649,7 +660,7 @@
|
||||
<ul class="eventList__list">`;
|
||||
// 답변 여부 표시
|
||||
if (bbsInfo.answRegist === 'Y') {
|
||||
if (resultList.answBbscttInnb !== null) {
|
||||
if (resultList.answBbscttInnb != null) {
|
||||
list += `<li>답변완료</li>`;
|
||||
} else {
|
||||
list += `<li>답변대기</li>`;
|
||||
@@ -680,7 +691,7 @@
|
||||
list += ` </ul>
|
||||
</a>`;
|
||||
if(bbsInfo.answRegist === 'Y') {
|
||||
if(resultList.answBbscttInnb !== null){
|
||||
if(resultList.answBbscttInnb != null){
|
||||
list += `<a class="eventList__item dtlBtn item" style="cursor:pointer" >
|
||||
<input type="hidden" class="bbscttInnb" value="\${ resultList.bbscttInnb}">
|
||||
<div class="eventList__top">
|
||||
@@ -718,7 +729,7 @@
|
||||
<ul class="eventList__list">`;
|
||||
// 답변 여부 표시
|
||||
if (bbsInfo.answRegist === 'Y') {
|
||||
if (resultList.answBbscttInnb !== null) {
|
||||
if (resultList.answBbscttInnb != null) {
|
||||
list += `<li>답변완료</li>`;
|
||||
} else {
|
||||
list += `<li>답변대기</li>`;
|
||||
@@ -760,7 +771,7 @@
|
||||
// 비밀글 여부
|
||||
if (resultList.secretBbscttAt === 'Y') {
|
||||
if (resultList.regusrDvCd !== '02') {
|
||||
if (resultList.answCn !== null) {
|
||||
if (resultList.answCn != null) {
|
||||
list += `[\${resultList.answCn}] `;
|
||||
}
|
||||
list += `<span>\${resultList.maskingRegusrNm}</span>님의 \${bbsInfo.bbsNm}`;
|
||||
@@ -768,7 +779,7 @@
|
||||
list += `비밀글입니다.`;
|
||||
}
|
||||
} else {
|
||||
if (resultList.answCn !== null) {
|
||||
if (resultList.answCn != null) {
|
||||
list += `[\${resultList.answCn}] `;
|
||||
}
|
||||
list += `\${sj}`;
|
||||
@@ -779,7 +790,7 @@
|
||||
|
||||
// 답변 여부 표시
|
||||
if (bbsInfo.answRegist === 'Y') {
|
||||
if (resultList.answBbscttInnb !== null) {
|
||||
if (resultList.answBbscttInnb != null) {
|
||||
list += `<span class="myQnaList__info__date">답변완료</span>`;
|
||||
} else {
|
||||
list += `<span class="myQnaList__info__date">답변대기</span>`;
|
||||
|
||||
@@ -1938,7 +1938,7 @@
|
||||
success: function (data) {
|
||||
$("#modalDiv").html(data);
|
||||
MicroModal.init();
|
||||
closeModal("authPop");
|
||||
try {closeModal("authPop");} catch (e) {};
|
||||
openModal2("authPop");
|
||||
}
|
||||
});
|
||||
|
||||
@@ -29,6 +29,16 @@
|
||||
const title = '상품 목록';
|
||||
fn_set_header_title(title);
|
||||
|
||||
const $categoryList = $('.header--sub > .home-category .home-category__list');
|
||||
const $activeCategory = $categoryList.find('.home-category__item.active');
|
||||
if ($activeCategory.length) {
|
||||
const listElement = $categoryList.get(0);
|
||||
const activeRect = $activeCategory.get(0).getBoundingClientRect();
|
||||
const listRect = listElement.getBoundingClientRect();
|
||||
const activeCenter = activeRect.left - listRect.left + listElement.scrollLeft + (activeRect.width / 2);
|
||||
$categoryList.scrollLeft(Math.max(0, activeCenter - (listElement.clientWidth / 2)));
|
||||
}
|
||||
|
||||
let pageIndex = '<c:out value="${ resultMap.BOGoodsVO.pageIndex }"/>';
|
||||
|
||||
fn_select_list(pageIndex);
|
||||
@@ -1116,12 +1126,12 @@
|
||||
<nav class="home-category">
|
||||
<div class="home-category__content">
|
||||
<ul class="home-category__list">
|
||||
<li class="home-category__item active">
|
||||
<li class="home-category__item<c:if test="${resultMap.BOGoodsVO.ctgryId eq resultMap.BOGoodsVO.upperCtgryId}"> active</c:if>">
|
||||
<a href="javascript:void(0);" data-text="${resultMap.goodsCategoryList[0].baseCtgryNm}" data-value="${resultMap.goodsCategoryList[0].baseCtgryId}">전체</a>
|
||||
</li>
|
||||
<c:forEach items="${resultMap.goodsCategoryList}" var="goodsCategory" varStatus="status">
|
||||
<c:if test="${goodsCategory.ctgryId ne resultMap.BOGoodsVO.ctgryId}">
|
||||
<li class="home-category__item ">
|
||||
<c:if test="${goodsCategory.upperCtgryId eq resultMap.BOGoodsVO.upperCtgryId}">
|
||||
<li class="home-category__item<c:if test="${goodsCategory.ctgryId eq resultMap.BOGoodsVO.ctgryId}"> active</c:if>">
|
||||
<a href="javascript:void(0);" data-value="${goodsCategory.ctgryId}"> ${goodsCategory.ctgryNm}</a>
|
||||
</li>
|
||||
</c:if>
|
||||
|
||||
@@ -201,6 +201,20 @@
|
||||
</c:if>
|
||||
<div class="sub-box">
|
||||
<div class="mainNotice__wrapper">
|
||||
<%--<div class="mainNotice__customerContact"
|
||||
onclick="window.open('http://pf.kakao.com/_xjxjHxnX', '_blank');">
|
||||
<i class="icon icon_kakao-customer-service"></i>
|
||||
<div class="mainNotice__customerContact__right">
|
||||
<h4 class="notice__title customer-service">문의는 카톡으로</h4>
|
||||
<span class="notice__number"><c:out value="${sopmallInfo.shopInfo.cscTelnb }"/></span>
|
||||
<p class="notice__paragraph">
|
||||
<span class="notice__text01"><c:out value="${ sopmallInfo.shopInfo.cscWkdayWorkTme }"/></span>
|
||||
<span class="notice__text02">(<c:out value="${ sopmallInfo.shopInfo.cscLunchTme }"/>)</span>
|
||||
<br>
|
||||
<span class="notice__text03"><c:out value="${ sopmallInfo.shopInfo.cscRstde }"/></span>
|
||||
</p>
|
||||
</div>
|
||||
</div>--%>
|
||||
<a class="myPageMain__logout" href="/sopmal/logout">
|
||||
<i class="icon icon_myLogout"></i>
|
||||
로그아웃
|
||||
|
||||
Reference in New Issue
Block a user