${(function(){ const get_random_six_digits = () => { return Math.random().toString().slice(-6) }; const wholesale_enabled = false; const setting_product_image_display = "100%"; const product_image = data.image; const secondary_image = data.secondImage; const image_width = product_image.width | 600; let image_height = product_image.height | 600; if(setting_product_image_display == '100%'){ image_height = image_width }else if(setting_product_image_display == '133.33%'){ image_height = image_width * 1.3333; }; let product_image_hover_on = false; if(secondary_image.src){ product_image_hover_on = true; } const has_save_label = true && ((+data.compare_at_price) > (+data.price)); const is_single_variant = data.variants.length == 1; const min_price_variant_href = (data.min_price_variant && data.min_price_variant.available) ? data.min_price_variant.withinUrl : data.withinUrl; const retail_price_max = data.retail_price_max || data.compare_at_price_max; const THUMBNAILS_MAX_SIZE = 3; const thumbnails = data.thumbVariants.slice(0, THUMBNAILS_MAX_SIZE); const image_wrap_id = 'image_wrap_' + get_random_six_digits(); const image_carousel_id = 'image_carousel_' + get_random_six_digits(); const thumbnails_selector_id = 'thumbnails_selector_' + get_random_six_digits(); const form_id = 'form_' + get_random_six_digits() + ""; const mixed_wholesale = data.mixed_wholesale; return `
${ data.available ? `${ (+data.compare_at_price > +data.price) ? `Save ${ data.off_ratio }% ` : '' }` : "Sold out" }
Mixed Lot
${data.title}
${ data.price_min != data.price_max ? `from
` : `
` }
+${data.remainInvisibleThumbCount}
` })()}
class SpzCustomLabelScript extends SPZ.BaseElement { constructor(element) { super(element); } isLayoutSupported(layout) { return true; } mountCallback() { const script = this.element; const boxEl = script.closest('.product_snippet_label_area'); const labelEl = boxEl.querySelector('.product_snippet__label'); if(!labelEl) return; const observer = new ResizeObserver((entries) => { const labelEls = boxEl.querySelectorAll('.product_snippet__label'); const offsetWidth = Math.max(...Array.from(labelEls).map(el => el.offsetWidth)); if(offsetWidth>0){ const padding = offsetWidth / 2 + 8 + 'px'; boxEl.style.left = padding; boxEl.style.right = padding; boxEl.style.visibility = 'visible'; } }); observer.observe(labelEl); } } SPZ.defineElement('spz-custom-label-script', SpzCustomLabelScript);
(function () { class SPZCustomEventTrack extends SPZ.BaseElement { constructor(element) { super(element); this.action_ = SPZServices.actionServiceForDoc(this.element); } isLayoutSupported(layout) { return true; } buildCallback() { this.setupAction_(); } track(key, value) { console.log('tracking...', key, value); if(window.sa){ window.sa.track(key, value); }else{ let sa = null; Object.defineProperty(window, 'sa',{ get: function() { return sa; }, set(val){ sa = val; sa.track(key, value); } }) } } setupAction_() { const clickParams = { business_type: 'product_theme', event_name: 'function_click', function_name: 'Farida', plugin_name: 'Farida', template_name: "product", template_type: 1, module: 'online_store', module_type: 'online_store', tab_name: '', card_name: '', event_developer: 'ccbGolumn', event_type: 'click', }; this.registerAction('trackClick', (e) => { const event_info = e.args || {}; this.track('function_click', { ...clickParams, event_info: JSON.stringify(event_info), }); }); this.registerAction('trackExpose', (e) => { const event_info = e.args || {}; this.track('function_expose', { ...clickParams, event_name: 'function_expose', event_type: 'expose', event_info: JSON.stringify(event_info), }); }); } } SPZ.defineElement('spz-custom-event-track', SPZCustomEventTrack); }())
Hassle-free returns. 30-day postage paid returns
Hassle-free returns. 30-day postage paid returns
FREE SHIPPING: Buy now and get free shipping on orders over $39.99!
FREE SHIPPING: Buy now and get free shipping on orders over $39.99!
Log in
Create an account
${data.data && data.data.count}
HOME
Best seller
EYE
WRINKLES
SKIN
MOUTH
HAIR
NAIL
BODY
About Us
Why is Verticalox better?
OUR BLOG
Verticalox GIVES BACK
We suggest that you...
Facial Skin Care Process
Determine Your Skin Type
Determining Your Hair Type
More links
${(function(){ const formatLinks = (links) => { return links.map(link => { link.tag = tags[link.title.toUpperCase()] || {}; link.target_attr = link.target == '_blank' ? 'target="_blank"' : ''; link.href_attr = link.url ? `href="${link.url}"` : ''; if(link.children && link.children.length){ link.children = formatLinks(link.children); } return link; }) }; const tags = "{}"; let linkList = [ { id: 64501397, title: "HOME", url: "\/", target: "", levels: 0, product0: { id: (null) }, children: [ ] }, { id: 64501399, title: "Best seller", url: "\/collections\/best-seller-fgva", target: "", levels: 0, product0: { id: (null) }, children: [ ] }, { id: 64501401, title: "EYE", url: "\/collections\/eyes", target: "", levels: 0, product0: { id: (null) }, children: [ ] }, { id: 64501403, title: "WRINKLES", url: "\/collections\/wrinkles", target: "", levels: 0, product0: { id: (null) }, children: [ ] }, { id: 64501405, title: "SKIN", url: "\/collections\/skin-cleansing", target: "", levels: 0, product0: { id: (null) }, children: [ ] }, { id: 64501407, title: "MOUTH", url: "\/collections\/mouth", target: "", levels: 0, product0: { id: (null) }, children: [ ] }, { id: 64501409, title: "HAIR", url: "\/collections\/hair", target: "", levels: 0, product0: { id: (null) }, children: [ ] }, { id: 64501411, title: "NAIL", url: "\/collections\/nails", target: "", levels: 0, product0: { id: (null) }, children: [ ] }, { id: 64501413, title: "BODY", url: "\/collections\/body-management", target: "", levels: 0, product0: { id: (null) }, children: [ ] }, { id: 64501415, title: "About Us", url: "", target: "", levels: 1, product0: { id: (null) }, children: [ { title: "Why is Verticalox better?", url: "\/pages\/why-is-verticalox-better", target: "", levels: 0, cover: '', children: [ ] }, { title: "OUR BLOG", url: "\/blogs\/verticalox-blog", target: "", levels: 0, cover: '', children: [ ] }, { title: "Verticalox GIVES BACK", url: "\/pages\/verticalox-gives-back", target: "", levels: 0, cover: '', children: [ ] }, ] }, { id: 64501423, title: "We suggest that you...", url: "", target: "", levels: 1, product0: { id: (null) }, children: [ { title: "Facial Skin Care Process", url: "\/pages\/facial-skin-care-process", target: "", levels: 0, cover: '', children: [ ] }, { title: "Determine Your Skin Type", url: "\/pages\/determine-your-skin-type", target: "", levels: 0, cover: '', children: [ ] }, { title: "Determining Your Hair Type", url: "\/pages\/determining-your-hair-type", target: "", levels: 0, cover: '', children: [ ] }, ] }, ].slice(offset); linkList = formatLinks(linkList); const hasChild = linkList.some(link => !!(link.children && link.children.length || link.product0.id)); for (const item of linkList) { if (item.children?.length > 0) { item.active = 'active'; break; } } return `
${link.title}
${link.tag.label}
${second_link.cover}
${second_link.title}
${second_link.tag.label}
${third_links.title}
${third_links.tag.label}
${link.title}
${link.tag.label}
` })()}
HOME
Best seller
EYE
WRINKLES
SKIN
MOUTH
HAIR
NAIL
BODY
About Us
Why is Verticalox better?
OUR BLOG
Verticalox GIVES BACK
We suggest that you...
Facial Skin Care Process
Determine Your Skin Type
Determining Your Hair Type
More links
${(function(){ const formatLinks = (links) => { return links.map(link => { link.tag = tags[link.title.toUpperCase()] || {}; link.target_attr = link.target == '_blank' ? 'target="_blank"' : ''; link.href_attr = link.url ? `href="${link.url}"` : ''; if(link.children && link.children.length){ link.children = formatLinks(link.children); } return link; }) }; const tags = "{}"; let linkList = [ { id: 64501397, title: "HOME", url: "\/", target: "", levels: 0, product0: { id: (null) }, children: [ ] }, { id: 64501399, title: "Best seller", url: "\/collections\/best-seller-fgva", target: "", levels: 0, product0: { id: (null) }, children: [ ] }, { id: 64501401, title: "EYE", url: "\/collections\/eyes", target: "", levels: 0, product0: { id: (null) }, children: [ ] }, { id: 64501403, title: "WRINKLES", url: "\/collections\/wrinkles", target: "", levels: 0, product0: { id: (null) }, children: [ ] }, { id: 64501405, title: "SKIN", url: "\/collections\/skin-cleansing", target: "", levels: 0, product0: { id: (null) }, children: [ ] }, { id: 64501407, title: "MOUTH", url: "\/collections\/mouth", target: "", levels: 0, product0: { id: (null) }, children: [ ] }, { id: 64501409, title: "HAIR", url: "\/collections\/hair", target: "", levels: 0, product0: { id: (null) }, children: [ ] }, { id: 64501411, title: "NAIL", url: "\/collections\/nails", target: "", levels: 0, product0: { id: (null) }, children: [ ] }, { id: 64501413, title: "BODY", url: "\/collections\/body-management", target: "", levels: 0, product0: { id: (null) }, children: [ ] }, { id: 64501415, title: "About Us", url: "", target: "", levels: 1, product0: { id: (null) }, children: [ { title: "Why is Verticalox better?", url: "\/pages\/why-is-verticalox-better", target: "", levels: 0, cover: '', children: [ ] }, { title: "OUR BLOG", url: "\/blogs\/verticalox-blog", target: "", levels: 0, cover: '', children: [ ] }, { title: "Verticalox GIVES BACK", url: "\/pages\/verticalox-gives-back", target: "", levels: 0, cover: '', children: [ ] }, ] }, { id: 64501423, title: "We suggest that you...", url: "", target: "", levels: 1, product0: { id: (null) }, children: [ { title: "Facial Skin Care Process", url: "\/pages\/facial-skin-care-process", target: "", levels: 0, cover: '', children: [ ] }, { title: "Determine Your Skin Type", url: "\/pages\/determine-your-skin-type", target: "", levels: 0, cover: '', children: [ ] }, { title: "Determining Your Hair Type", url: "\/pages\/determining-your-hair-type", target: "", levels: 0, cover: '', children: [ ] }, ] }, ].slice(offset); linkList = formatLinks(linkList); const hasChild = linkList.some(link => !!(link.children && link.children.length || link.product0.id)); for (const item of linkList) { if (item.children?.length > 0) { item.active = 'active'; break; } } return `
${link.title}
${link.tag.label}
${second_link.cover}
${second_link.title}
${second_link.tag.label}
${third_links.title}
${third_links.tag.label}
${link.title}
${link.tag.label}
` })()}
Log in
Create an account
${data.data && data.data.count}
${(function(){ if (data === undefined || typeof data !== 'string' || data == '') return '
'; const keyword = encodeURIComponent(data); return `
View more
Your search for '${data}' did not yield any results.
` })()}
HOME
Best seller
EYE
WRINKLES
SKIN
MOUTH
HAIR
NAIL
BODY
About Us
Why is Verticalox better?
OUR BLOG
Verticalox GIVES BACK
We suggest that you...
Facial Skin Care Process
Determine Your Skin Type
Determining Your Hair Type
Log in
(function(){ let w = window.innerWidth; function setHeaderCssVar() { const headerEle = document.getElementById('shoplaza-section-header'); if(!headerEle){ return }; document.body.style.setProperty('--window-height', `${window.innerHeight}px`); document.body.style.setProperty('--header-height', `${headerEle.clientHeight}px`); const mdScorllHideEle = headerEle.querySelector('.header__mobile .header__scroll_hide'); if (mdScorllHideEle) { document.body.style.setProperty('--header-scroll-hide-height-md', `${mdScorllHideEle.clientHeight}px`); } const pcScorllHideEle = headerEle.querySelector('.header__desktop .header__scroll_hide'); if (pcScorllHideEle) { document.body.style.setProperty('--header-scroll-hide-height-pc', `${pcScorllHideEle.clientHeight}px`); } } function handlResize() { if(w == window.innerWidth){return}; w = window.innerWidth; setHeaderCssVar(); }; function init(){ setHeaderCssVar(); window.removeEventListener('resize', window._theme_header_listener) window._theme_header_listener = handlResize; window.addEventListener('resize', window._theme_header_listener); } init(); })();
${Array(data.total || 0).fill().map((val, idx) => idx).map((val, idx) => `
`).join('')}
16/23
${data.index + 1}/${data.total}
${Array(data.total || 0).fill().map((val, idx) => idx).map((val, idx) => `
`).join('')}
16/23
${data.index + 1}/${data.total}
Last Day Promotion 49% OFF😍 - Deep Cup Supportive Bra
BUY 2 FREE SHIPPING
$28.98
$59.96
-
52%
${function() { const variantData = data.variant || {"id":"1338d8d9-efde-47ff-bc09-d3c7852a197b","product_id":"7fe3d8fa-1c42-44ce-9854-e3e4634c91f3","title":"BLACK-34-B","weight_unit":"kg","inventory_quantity":0,"sku":"AB0010404-BK-A","barcode":"","position":1,"option1":"BLACK","option2":"34","option3":"B","note":"","image":{"src":"\/\/img.staticdj.com\/8d3e86df89b072deb005c13da0114c6d.webp","path":"8d3e86df89b072deb005c13da0114c6d.webp","width":900,"height":900,"alt":"","aspect_ratio":1},"wholesale_price":[{"price":28.98,"min_quantity":1}],"weight":"0","compare_at_price":"59.96","price":"28.98","retail_price":"59.96","available":true,"url":"\/products\/fashion-deep-cup-bra-jnni-h9o8-zs76-c45c?variant=1338d8d9-efde-47ff-bc09-d3c7852a197b","available_quantity":999999999,"options":[{"name":"Color","value":"BLACK"},{"name":"Size","value":"34"},{"name":"Cup","value":"B"}],"off_ratio":52,"flashsale_info":[],"sales":0}; const saveType = "percentage"; const productLabelDiscountOn = true; const map = { B: `
`, C: `
`, A: `
${saveType == 'percentage' ? `-${variantData.off_ratio}%` : `
-
` }
` } const price_group_arr = ["B","C","A"]; const price_str_arr = price_group_arr.map(type => map[type]); return `
-
${price_str_arr.join('')}
`; }()}
Color:
BLACK
${function(){ const optName = "Color"; const optionValue = data.originData.selectData ? data.originData.selectData[optName].value : data.originData.value; const optionValueText = optionValue ? (optionValue) : ''; return `
${optionValueText}
`; }()}
BLACK
NUDE
PINK
GRAY
🎁Black+Nude(2PCS) & 10% OFF - FREE SHIPPING
BLACK+NUDE+PINK+GRAY😍(FREE SHIPPING+SAVE $30)
${function(){ const tipText = "Please select a {{ name }}".replace(/\{\{\s+name\s+\}\}/g, data); return `
${tipText}
` }()}
Size:
34
${function(){ const optName = "Size"; const optionValue = data.originData.selectData ? data.originData.selectData[optName].value : data.originData.value; const optionValueText = optionValue ? (optionValue) : ''; return `
${optionValueText}
`; }()}
34
36
38
40
42
44
46
48