(() => { const { EventManager, pageHelper, utils } = ShopbySkin; const { initialize } = pageHelper.displayDetailHelper(); const param = utils.getQueryParams(); const displayDetailActionMap = { // NOTE: 좋아요버튼 클릭 PRODUCT_LIKE_BTN: ({ event }) => { event?.preventDefault?.(); const btn = event.target.closest('[shopby-product-no]'); const productNo = Number(btn.getAttribute('shopby-product-no') ?? 0); utils.isSignIn() ? EventManager.fire('MUTATE_LIKE_PRODUCT', { productNo, onSuccess: (like) => { like ? btn.classList.add('is-active') : btn.classList.remove('is-active'); }, }) : EventManager.fire('MODAL_CONFIRM_OPEN', { message: `로그인하셔야 본 서비스를 이용하실 수 있습니다.`, noticeType: 'WARNING', onConfirm: () => { const nextUrl = `${location.origin}/pages/sign-in/sign-in.html`; location.href = `${nextUrl}?from=${encodeURIComponent(location.href)}`; }, }); }, MOVE_PRODUCT_DETAIL: ({ event }) => { if (!utils.isAdultVerified(event)) { EventManager.fire('MODAL_CONFIRM_OPEN', { message: '성인인증이 필요한 상품입니다.', noticeType: 'CAUTION', onConfirm: () => { location.href = '/pages/intro/adult-certification.html?go-back=true'; }, }); } }, }; initialize({ sectionsId: param.sectionId, by: param.sortType, pageSize: param.pageSize, pageNumber: param.pageNumber, }); const clickEventListener = (e) => { const btn = e.target.closest('[shopby-action]') || e.target.parentElement.closest('[shopby-action]'); const action = btn?.getAttribute('shopby-action'); displayDetailActionMap[action]?.({ event: e, }); }; document.addEventListener('click', clickEventListener); EventManager.on('QUERY_DISPLAY_SECTIONS_IDS_SECTIONID', (data) => { // 외부스크립트 등록 기능. 삭제금지 ShopbyExternalScript?.setGlobalObjectSb({ displaySection: { ...data } }); }); EventManager.on('PAGE_LOAD_COMPLETED', () => { // 외부스크립트 등록 기능. 삭제금지 ShopbyExternalScript?.setPageScriptType('DISPLAY_SECTION'); }); (function() { const urlParams = new URLSearchParams(window.location.search); const sectionId = urlParams.get('sectionId'); // 1. 경로를 절대 경로( /로 시작 )로 바꾸는 것이 가장 안전합니다. const bannerImages = { 'SCPC0001': '/assets/images/gnb_banner04_pc.jpg', 'SCPC0004': '/assets/images/gnb_banner03_pc.jpg', 'SCPC0006': '/assets/images/gnb_banner01_pc.jpg', 'SCPC0007': '/assets/images/gnb_banner02_pc.jpg' }; const hideBannerSections = ['SCPC0002', 'SCPC0003', 'SCPC0005', 'SCPC0008']; const style = document.createElement('style'); if (hideBannerSections.includes(sectionId)) { style.innerHTML = ` .list-banner { display: none !important; } .l-title-section { display: block !important; } `; } else if (bannerImages[sectionId]) { // 이미지가 img 태그인 경우와 div 태그인 경우 모두 대응 style.innerHTML = ` .list-banner { display: block !important; content: url('${bannerImages[sectionId]}') !important; /* img 태그용 */ background-image: url('${bannerImages[sectionId]}') !important; /* div 태그용 */ background-size: cover; background-position: center; min-height: 200px; /* div일 경우 높이가 없으면 안보이므로 추가 */ } .l-title-section { display: none !important; } `; } if (style.innerHTML) { document.head.appendChild(style); } })(); })();