feat: 쇼핑몰 상품 배지 마스터 연동

This commit is contained in:
이주일
2026-07-15 18:09:39 +09:00
parent df8c176dbb
commit ac2402d764
24 changed files with 228 additions and 116 deletions

View File

@@ -1459,19 +1459,19 @@
<c:set var="iconCdList" value="${fn:split(iconString, ',')}" />
<c:forEach var = "iconCd" items="${iconCdList}">
<c:if test = "${iconCd eq 'new'}">
<span class="product-badge new">NEW</span>
<span class="product-badge new" data-badge-cd="new">NEW</span>
</c:if>
<c:if test = "${iconCd eq 'hot'}">
<span class="product-badge hot">HOT</span>
<span class="product-badge hot" data-badge-cd="hot">HOT</span>
</c:if>
<c:if test = "${iconCd eq 'best'}">
<span class="product-badge best">BEST</span>
<span class="product-badge best" data-badge-cd="best">BEST</span>
</c:if>
<c:if test = "${iconCd eq 'md-pick'}">
<span class="product-badge md-pick">MD PICK</span>
<span class="product-badge md-pick" data-badge-cd="md-pick">MD PICK</span>
</c:if>
<c:if test = "${iconCd eq 'hot-deal'}">
<span class="product-badge four-row">HOT DEAL</span>
<span class="product-badge four-row" data-badge-cd="four-row">HOT DEAL</span>
</c:if>
</c:forEach>
<div class="product-unit-info__inner">

View File

@@ -3708,14 +3708,16 @@ const fn_move_goodsDtl_login = () => {
<c:if test="${not empty resultMap.goodsDtl.goodsIconCd}">
<div class="product-badge-container">
<c:forTokens var="iconNm" items="${resultMap.goodsDtl.goodsIconCd}" delims=",">
<c:choose>
<c:when test="${fn:contains(iconNm,'-')}">
<span class="product-badge product-badge--lg ${fn:toLowerCase(iconNm)}"> ${fn:toUpperCase(fn:replace(iconNm, '-', ' '))}</span>
</c:when>
<c:otherwise>
<span class="product-badge product-badge--lg ${fn:toLowerCase(iconNm)}"> ${fn:toUpperCase(iconNm)}</span>
</c:otherwise>
</c:choose>
<c:set var="badgeMatched" value="false"/>
<c:forEach items="${resultMap.goodsBadgeList}" var="badge">
<c:if test="${badge.cd eq iconNm}">
<span class="product-badge product-badge--lg ${fn:toLowerCase(iconNm)}" data-badge-cd="${iconNm}" style="color: ${badge.fontColor} !important; background-color: ${badge.bgColor} !important; border-color: ${badge.borderColor} !important;">${badge.cdNm}</span>
<c:set var="badgeMatched" value="true"/>
</c:if>
</c:forEach>
<c:if test="${not badgeMatched}">
<span class="product-badge product-badge--lg ${fn:toLowerCase(iconNm)}" data-badge-cd="${iconNm}">${fn:toUpperCase(fn:replace(iconNm, '-', ' '))}</span>
</c:if>
</c:forTokens>
</div>
</c:if>
@@ -4805,4 +4807,4 @@ const fn_move_goodsDtl_login = () => {
</div>
</div>
</body>
</html>
</html>

View File

@@ -94,10 +94,10 @@
<c:forEach items="${fn:split(list.iconCdNmList, ',')}" var="iconCdNm" varStatus="iconStatus">
<c:choose>
<c:when test="${fn:contains(iconCdNm, '-')}">
<span class="product-badge ${fn:toLowerCase(iconCdNm)}">${fn:replace(fn:toUpperCase(iconCdNm), '-', ' ')}</span>
<span class="product-badge ${fn:toLowerCase(iconCdNm)}" data-badge-cd="${iconCdNm}">${fn:replace(fn:toUpperCase(iconCdNm), '-', ' ')}</span>
</c:when>
<c:otherwise>
<span class="product-badge ${fn:toLowerCase(iconCdNm)}">${fn:toUpperCase(iconCdNm)}</span>
<span class="product-badge ${fn:toLowerCase(iconCdNm)}" data-badge-cd="${iconCdNm}">${fn:toUpperCase(iconCdNm)}</span>
</c:otherwise>
</c:choose>
</c:forEach>

View File

@@ -205,9 +205,9 @@
list += ` <div class="product-badge-container col order-${'${item.iconExpsrOrdr-1}'}" style="order: ${'${item.iconExpsrOrdr-1}'} ">`;
for (const iconCdNm of item.iconCdNmList.split(',')){
if(iconCdNm.indexOf('-') > -1){
list += ` <span class="product-badge ${'${iconCdNm.toLowerCase()}'}">${'${iconCdNm.toUpperCase().replace("-", " ")}'}</span>`;
list += ` <span class="product-badge ${'${iconCdNm.toLowerCase()}'}" data-badge-cd="${'${iconCdNm}'}">${'${iconCdNm.toUpperCase().replace("-", " ")}'}</span>`;
}else{
list += ` <span class="product-badge ${'${iconCdNm.toLowerCase()}'}">${'${iconCdNm.toUpperCase()}'}</span>`;
list += ` <span class="product-badge ${'${iconCdNm.toLowerCase()}'}" data-badge-cd="${'${iconCdNm}'}">${'${iconCdNm.toUpperCase()}'}</span>`;
}
}
}

View File

@@ -90,10 +90,10 @@
<c:forEach items="${fn:split(list.iconCdNmList, ',')}" var="iconCdNm" varStatus="iconStatus">
<c:choose>
<c:when test="${fn:contains(iconCdNm, '-')}">
<span class="product-badge ${fn:toLowerCase(iconCdNm)}">${fn:replace(fn:toUpperCase(iconCdNm), '-', ' ')}</span>
<span class="product-badge ${fn:toLowerCase(iconCdNm)}" data-badge-cd="${iconCdNm}">${fn:replace(fn:toUpperCase(iconCdNm), '-', ' ')}</span>
</c:when>
<c:otherwise>
<span class="product-badge ${fn:toLowerCase(iconCdNm)}">${fn:toUpperCase(iconCdNm)}</span>
<span class="product-badge ${fn:toLowerCase(iconCdNm)}" data-badge-cd="${iconCdNm}">${fn:toUpperCase(iconCdNm)}</span>
</c:otherwise>
</c:choose>
</c:forEach>

View File

@@ -195,9 +195,9 @@
list += ` <div class="product-badge-container col order-${'${item.iconExpsrOrdr-1}'}" style="order: ${'${item.iconExpsrOrdr-1}'} ">`;
for (const iconCdNm of item.iconCdNmList.split(',')){
if(iconCdNm.indexOf('-') > -1){
list += ` <span class="product-badge ${'${iconCdNm.toLowerCase()}'}">${'${iconCdNm.toUpperCase().replace("-", " ")}'}</span>`;
list += ` <span class="product-badge ${'${iconCdNm.toLowerCase()}'}" data-badge-cd="${'${iconCdNm}'}">${'${iconCdNm.toUpperCase().replace("-", " ")}'}</span>`;
}else{
list += ` <span class="product-badge ${'${iconCdNm.toLowerCase()}'}">${'${iconCdNm.toUpperCase()}'}</span>`;
list += ` <span class="product-badge ${'${iconCdNm.toLowerCase()}'}" data-badge-cd="${'${iconCdNm}'}">${'${iconCdNm.toUpperCase()}'}</span>`;
}
}
}