${(function(){ const get_random_six_digits = () => { return Math.random().toString().slice(-6) }; const wholesale_enabled = false; const setting_product_image_display = "natural"; const product_image = data.image; const secondary_image = data.secondImage; const image_width = product_image.width; let image_height = product_image.height; if(setting_product_image_display == '100%'){ image_height = image_width }else if(setting_product_image_display == '133.33%'){ image_height = image_width * 1.3333; }else if(setting_product_image_display == '75%'){ image_height = image_width * 0.75; }; const product_image_hover_on = true && !!secondary_image.src; 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
` : '' }` : "Sold out" }
Mixed Lot
${data.title}
${ data.price_min != data.price_max ? `from
` : `
` }
+${data.remainInvisibleThumbCount}
` })()}
Free Shipping.
Free Shipping.
Log in
Create an account
${data.data && data.data.count}
Home
Kids
Brand
Adidas
ACNE
Alexander McQueen
Alo
Amiri
Arcteryx
Asics
Balenciaga
Birkenstock
Brooks
BURBERRY
Chanel
Christian Louboutin
Columbia
Converse
Crocs
Dior
DOLCE&GABBANA
Dries Van Noten
Ecco
Fendi
Fila
Four-leaf
GG-CC
Golden Goose
Goyard
Gucci
Hermes
Hoka
Jordan
KAILAS
Keen
KOLON
Loewe
Louis Vuitton
Lululemon
Maison MIHARA YASUHIRO
Mammut
Margiela
Merrell
Miu Miu
MLB
Mizuno
Moncler
New Balance
Nike
Norda
Oakley
Off white
On
Puma
Prada
Raf Simons
Ralph Lauren
REEF
RICK OWENS
Stone Island
The North Face
Thom Browne
Tiger Mexico
Under Armour
Vans
Valentino
YONEX
Jersey
2026 World Cup jersey
Mexican jersey
La Liga
Premier League
Accessories
Women's sports
Household appliances
Vacuum cleaner
razor
Save
$143.60
Save
$143.60
Cordless Household Vacuum Cleaner High Suction 38000pa Powerful Handheld Vacuum Cleaner
from
$143.60
$287.20
Electronics
Sofa
3125tiger
Save
$819.28
Save
$819.28
Piedmont Sofa Simple Living Room Tofu Modular Sofa Single Small Apartment Cream Style Lazy Fabric Sofa
from
$273.09
$1,092.37
More links
${(function(){ var linkList =[false,false,true,true,false,false,true,false,true].slice(offset); var hasChild = linkList.some(v => v); if(!hasChild){ return `
Home
Kids
Brand
Jersey
Accessories
Women's sports
Household appliances
Electronics
Sofa
` } return `
Home
Kids
Brand
Jersey
Accessories
Women's sports
Household appliances
Electronics
Sofa
Adidas
ACNE
Alexander McQueen
Alo
Amiri
Arcteryx
Asics
Balenciaga
Birkenstock
Brooks
BURBERRY
Chanel
Christian Louboutin
Columbia
Converse
Crocs
Dior
DOLCE&GABBANA
Dries Van Noten
Ecco
Fendi
Fila
Four-leaf
GG-CC
Golden Goose
Goyard
Gucci
Hermes
Hoka
Jordan
KAILAS
Keen
KOLON
Loewe
Louis Vuitton
Lululemon
Maison MIHARA YASUHIRO
Mammut
Margiela
Merrell
Miu Miu
MLB
Mizuno
Moncler
New Balance
Nike
Norda
Oakley
Off white
On
Puma
Prada
Raf Simons
Ralph Lauren
REEF
RICK OWENS
Stone Island
The North Face
Thom Browne
Tiger Mexico
Under Armour
Vans
Valentino
YONEX
2026 World Cup jersey
Mexican jersey
La Liga
Premier League
Vacuum cleaner
razor
3125tiger
` })()}
Home
Kids
Brand
Adidas
ACNE
Alexander McQueen
Alo
Amiri
Arcteryx
Asics
Balenciaga
Birkenstock
Brooks
BURBERRY
Chanel
Christian Louboutin
Columbia
Converse
Crocs
Dior
DOLCE&GABBANA
Dries Van Noten
Ecco
Fendi
Fila
Four-leaf
GG-CC
Golden Goose
Goyard
Gucci
Hermes
Hoka
Jordan
KAILAS
Keen
KOLON
Loewe
Louis Vuitton
Lululemon
Maison MIHARA YASUHIRO
Mammut
Margiela
Merrell
Miu Miu
MLB
Mizuno
Moncler
New Balance
Nike
Norda
Oakley
Off white
On
Puma
Prada
Raf Simons
Ralph Lauren
REEF
RICK OWENS
Stone Island
The North Face
Thom Browne
Tiger Mexico
Under Armour
Vans
Valentino
YONEX
Jersey
2026 World Cup jersey
Mexican jersey
La Liga
Premier League
Accessories
Women's sports
Household appliances
Vacuum cleaner
razor
Save
$143.60
Save
$143.60
Cordless Household Vacuum Cleaner High Suction 38000pa Powerful Handheld Vacuum Cleaner
from
$143.60
$287.20
Electronics
Sofa
3125tiger
Save
$819.28
Save
$819.28
Piedmont Sofa Simple Living Room Tofu Modular Sofa Single Small Apartment Cream Style Lazy Fabric Sofa
from
$273.09
$1,092.37
More links
${(function(){ var linkList =[false,false,true,true,false,false,true,false,true].slice(offset); var hasChild = linkList.some(v => v); if(!hasChild){ return `
Home
Kids
Brand
Jersey
Accessories
Women's sports
Household appliances
Electronics
Sofa
` } return `
Home
Kids
Brand
Jersey
Accessories
Women's sports
Household appliances
Electronics
Sofa
Adidas
ACNE
Alexander McQueen
Alo
Amiri
Arcteryx
Asics
Balenciaga
Birkenstock
Brooks
BURBERRY
Chanel
Christian Louboutin
Columbia
Converse
Crocs
Dior
DOLCE&GABBANA
Dries Van Noten
Ecco
Fendi
Fila
Four-leaf
GG-CC
Golden Goose
Goyard
Gucci
Hermes
Hoka
Jordan
KAILAS
Keen
KOLON
Loewe
Louis Vuitton
Lululemon
Maison MIHARA YASUHIRO
Mammut
Margiela
Merrell
Miu Miu
MLB
Mizuno
Moncler
New Balance
Nike
Norda
Oakley
Off white
On
Puma
Prada
Raf Simons
Ralph Lauren
REEF
RICK OWENS
Stone Island
The North Face
Thom Browne
Tiger Mexico
Under Armour
Vans
Valentino
YONEX
2026 World Cup jersey
Mexican jersey
La Liga
Premier League
Vacuum cleaner
razor
3125tiger
` })()}
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
Kids
Brand
Brand
Adidas
ACNE
Alexander McQueen
Alo
Amiri
Arcteryx
Asics
Balenciaga
Birkenstock
Brooks
BURBERRY
Chanel
Christian Louboutin
Columbia
Converse
Crocs
Dior
DOLCE&GABBANA
Dries Van Noten
Ecco
Fendi
Fila
Four-leaf
GG-CC
Golden Goose
Goyard
Gucci
Hermes
Hoka
Jordan
KAILAS
Keen
KOLON
Loewe
Louis Vuitton
Lululemon
Maison MIHARA YASUHIRO
Mammut
Margiela
Merrell
Miu Miu
MLB
Mizuno
Moncler
New Balance
Nike
Norda
Oakley
Off white
On
Puma
Prada
Raf Simons
Ralph Lauren
REEF
RICK OWENS
Stone Island
The North Face
Thom Browne
Tiger Mexico
Under Armour
Vans
Valentino
YONEX
Jersey
Jersey
2026 World Cup jersey
Mexican jersey
La Liga
Premier League
Accessories
Women's sports
Household appliances
Household appliances
Vacuum cleaner
razor
Electronics
Sofa
Sofa
3125tiger
Log in
Create an account
1/32
${data.index + 1}/${data.total}
${Array(data.total).fill(0).map((num, index) => `
`).join('')}
In stock! Children's T-shirt 26 Summer MP pastoral style girls' tie-neck top and popcorn pants skirt set
$9.41
-
$26.47
${function() { const variantData = data.variant || {"id":"d3335606-a4a7-4bfa-8fe4-a6ef6f552204","product_id":"48f0698d-f8e0-4325-b40c-08a53c5706f2","title":"The product does not support the 7-day no-reason return policy-90cm","weight_unit":"kg","inventory_quantity":0,"sku":"886553213359_\u3010The product does not support 7-day no-reason return\u3011_90cm","barcode":"","position":1,"option1":"The product does not support the 7-day no-reason return policy","option2":"90cm","option3":"","note":"","image":null,"wholesale_price":[{"price":9.41,"min_quantity":1}],"weight":"0.3","compare_at_price":"9.41","price":"9.41","retail_price":"9.41","available":true,"url":"\/products\/in-stock-childrens-t-shirt-26-summer-mp-pastoral-style-girls-tie-neck-top-and-popcorn-pants-skirt-set?variant=d3335606-a4a7-4bfa-8fe4-a6ef6f552204","available_quantity":999999999,"options":[{"name":"Color","value":"The product does not support the 7-day no-reason return policy"},{"name":"Size","value":"90cm"}],"off_ratio":"0","flashsale_info":{"variant_id":"d3335606-a4a7-4bfa-8fe4-a6ef6f552204","product_id":"","quantity":0,"discount_id":"","limit_time":0,"limit_buy":0,"user_limit_buy":0,"discount_sales":0,"discount_sales_rate":"","discount_stock":0,"ends_at":0,"starts_at":0,"allow_oversold":"","allocation_method":"","price":"9.41","compare_at_price":"","discount_price":"9.41","customary_saved_price":"","customary_off_ratio":"","discount_saved_price":"","discount_off_ratio":"0","use_before_price":false,"before_price":"","title":"","properties":"","color_setting_promotional_copy":"","discount_quantity":0,"is_need_split":false},"sales":0}; const saveType = "amount"; const productLabelDiscountOn = true; return `
-
${saveType == 'percentage' ? `
-${variantData.off_ratio}%
` : `
-
` }
`; }()}
Color:
The product does not support the 7-day no-reason return policy
${function(){ return `
${data.value}
`; }()}
The product does not support the 7-day no-reason return policy
Orange-red tie-neck top [in stock]
Brown tie-neck top [in stock]
Pink tie-neck top [in stock]
Light green tie-neck top [in stock]
Pink ruffle collar button-up top [in stock]
Yellow lotus leaf collar top [in stock]
Red lotus leaf collar top [in stock]
Pink floral tie-neck top [in stock]
Pink floral ruffle collar top [in stock]
Beige floral print tie-neck top [In stock]
Red plaid collared shirt [in stock]
Orange striped sleeveless top [in stock]
Beige floral skirt top [in stock]
Purple and yellow color-blocked knitted skirt-pants [in stock]
Blue and white color-blocked knitted skirt-pants [in stock]
Yellow knitted skirt-pants [in stock]
Orange popcorn knit skirt-pants [in stock]
Pink popcorn knit skirt-pants [in stock]
Purple popcorn knit skirt-pants [in stock]
Off-white polka dot knit skirt-pants [In stock]
Orange and yellow striped knit skirt-pants [in stock]
Off-white polka dot knitted cardigan [in stock]
Beige floral hollow-out tie-up knit top [In stock]
Yellow dotted skirt knit top [in stock]
Orange striped shorts [in stock]
Beige floral print trousers [in stock]
Pink floral lace long pants [in stock]
${function(){ const tipText = "Please select a {{ name }}".replace(/\{\{\s+name\s+\}\}/g, data); return `
${tipText}
` }()}
Size:
90cm
${function(){ return `
${data.value}
`; }()}
90cm
100cm
110cm
120cm
130cm
140cm
150cm
${function(){ const tipText = "Please select a {{ name }}".replace(/\{\{\s+name\s+\}\}/g, data); return `
${tipText}
` }()}
Quantity
Add to cart
$9.41
${function(){ const wholesale_enabled = false; const qty = data.quantity || 1; const currentSelectVariant = data.variant; const defaultVariant = (data.product && data.product.variants && data.product.variants[0]); const productVariant = {"id":"d3335606-a4a7-4bfa-8fe4-a6ef6f552204","product_id":"48f0698d-f8e0-4325-b40c-08a53c5706f2","title":"The product does not support the 7-day no-reason return policy-90cm","weight_unit":"kg","inventory_quantity":0,"sku":"886553213359_\u3010The product does not support 7-day no-reason return\u3011_90cm","barcode":"","position":1,"option1":"The product does not support the 7-day no-reason return policy","option2":"90cm","option3":"","note":"","image":null,"wholesale_price":[{"price":9.41,"min_quantity":1}],"weight":"0.3","compare_at_price":"9.41","price":"9.41","retail_price":"9.41","available":true,"url":"\/products\/in-stock-childrens-t-shirt-26-summer-mp-pastoral-style-girls-tie-neck-top-and-popcorn-pants-skirt-set?variant=d3335606-a4a7-4bfa-8fe4-a6ef6f552204","available_quantity":999999999,"options":[{"name":"Color","value":"The product does not support the 7-day no-reason return policy"},{"name":"Size","value":"90cm"}],"off_ratio":"0","flashsale_info":{"variant_id":"d3335606-a4a7-4bfa-8fe4-a6ef6f552204","product_id":"","quantity":0,"discount_id":"","limit_time":0,"limit_buy":0,"user_limit_buy":0,"discount_sales":0,"discount_sales_rate":"","discount_stock":0,"ends_at":0,"starts_at":0,"allow_oversold":"","allocation_method":"","price":"9.41","compare_at_price":"","discount_price":"9.41","customary_saved_price":"","customary_off_ratio":"","discount_saved_price":"","discount_off_ratio":"0","use_before_price":false,"before_price":"","title":"","properties":"","color_setting_promotional_copy":"","discount_quantity":0,"is_need_split":false},"sales":0}; const variantData = currentSelectVariant || defaultVariant || productVariant; const wholesale_price = variantData.wholesale_price || []; if(wholesale_enabled && wholesale_price.length > 0) { let wholesaleIndex = wholesale_price.findIndex(item => { return item.min_quantity > qty; }); if(wholesaleIndex < 0){ wholesaleIndex = wholesale_price.length - 1; }else if(wholesaleIndex > 0){ wholesaleIndex = wholesaleIndex - 1; } const wholesalePrice = wholesale_price[wholesaleIndex] || ''; return `
` }else { const price = variantData && variantData.price; return price != undefined ? `
` : '
'; } }()}
Buy now
Product was out of stock.
Product is unavailable.
Sku :
886553213359_【The product does not support 7-day no-reason return】_90cm
Weight :
0.3kg
${function(){ const variantData = data.variant || {"id":"d3335606-a4a7-4bfa-8fe4-a6ef6f552204","product_id":"48f0698d-f8e0-4325-b40c-08a53c5706f2","title":"The product does not support the 7-day no-reason return policy-90cm","weight_unit":"kg","inventory_quantity":0,"sku":"886553213359_\u3010The product does not support 7-day no-reason return\u3011_90cm","barcode":"","position":1,"option1":"The product does not support the 7-day no-reason return policy","option2":"90cm","option3":"","note":"","image":null,"wholesale_price":[{"price":9.41,"min_quantity":1}],"weight":"0.3","compare_at_price":"9.41","price":"9.41","retail_price":"9.41","available":true,"url":"\/products\/in-stock-childrens-t-shirt-26-summer-mp-pastoral-style-girls-tie-neck-top-and-popcorn-pants-skirt-set?variant=d3335606-a4a7-4bfa-8fe4-a6ef6f552204","available_quantity":999999999,"options":[{"name":"Color","value":"The product does not support the 7-day no-reason return policy"},{"name":"Size","value":"90cm"}],"off_ratio":"0","flashsale_info":{"variant_id":"d3335606-a4a7-4bfa-8fe4-a6ef6f552204","product_id":"","quantity":0,"discount_id":"","limit_time":0,"limit_buy":0,"user_limit_buy":0,"discount_sales":0,"discount_sales_rate":"","discount_stock":0,"ends_at":0,"starts_at":0,"allow_oversold":"","allocation_method":"","price":"9.41","compare_at_price":"","discount_price":"9.41","customary_saved_price":"","customary_off_ratio":"","discount_saved_price":"","discount_off_ratio":"0","use_before_price":false,"before_price":"","title":"","properties":"","color_setting_promotional_copy":"","discount_quantity":0,"is_need_split":false},"sales":0}; return `
Sku :
${variantData && variantData.sku}
Weight :
${variantData && variantData.weight}${variantData && variantData.weight_unit}
Barcode :
${variantData && variantData.barcode}
` }()}
Description
1
You may also like
Recently Viewed
Cart
Your shopping bag is empty
Continue shopping
${item.product_title}
${item.options.map(option => option.value).join('/')}
${propertie.name}/${propertie.isImage ? `
View image
` : propertie.value}
Free gift
Mixed Lot
*${item.quantity}
${item.item_text}
${discount_item.title}
(-
)
${ data.originData.message }
${function () { if (!data.originData) return ""; let { apply_scenario, discount_info, landing_page_info, threshold_category } = data.originData; const progressDom = `
`; const { mobile_layout, show_add_to_cart, show_discount_label } = landing_page_info.product_display; const isBXGY = discount_info.discount_type === "DT_CODE_BXGY"; const buyProductsDom = `
`; const obtainProductsDom = `
`; const is_obtain = threshold_category === 'THRESHOLD_CATEGORY_OBTAIN_PRODUCT' ? 'active' : ''; const tabsDom = `
${function(){ let liDom = ''; const items = [ { text: landing_page_info.product.buy_product.text, class: "", value: 1 }, { text: landing_page_info.product.obtain_product.text, class: "cart-coupon-code-modal-tab__obtain", value: 2, is_obtain } ]; for (item of items) { liDom += `
${ item.text }
` } return liDom; }()}
${buyProductsDom}
${obtainProductsDom}
`; return `
${progressDom} ${isBXGY ? tabsDom : `
${buyProductsDom}
`}
` }()}
const TAG = 'spz-custom-cart-coupon-code-utils'; class SpzCustomCartCouponCodeUtils extends SPZ.BaseElement { constructor(element) { super(element); } static deferredMount() { return false; } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } buildCallback() { this.action_ = SPZServices.actionServiceForDoc(this.element); this.keepOpenGuardBound_ = false; this.registerAction('setSideBarHeight', this.setSideBarHeight_.bind(this)); this.onResize_ = this.setSideBarHeight_.bind(this); window.addEventListener('resize', this.onResize_); } detachedCallback() { if (this.onResize_) { window.removeEventListener('resize', this.onResize_); this.onResize_ = null; } } ensureKeepOpenGuard_($sideBar) { if (this.keepOpenGuardBound_) return; this.keepOpenGuardBound_ = true; const observer = new MutationObserver(() => { if ($sideBar.hasAttribute('open') && $sideBar.hasAttribute('hidden')) { $sideBar.removeAttribute('hidden'); this.setSideBarHeight_(); } }); observer.observe($sideBar, { attributes: true, attributeFilter: ['hidden', 'open'] }); } getOpenDrawer_() { return document.querySelector('[data-section-type="cart_drawer"] spz-sidebar[open]'); } setSideBarHeight_() { const $sideBar = document.querySelector('#cart-coupon-code-modal'); if (!$sideBar) return; this.ensureKeepOpenGuard_($sideBar); const windowHeight = window.innerHeight; const $drawer = this.getOpenDrawer_(); if (!$drawer) { $sideBar.style.setProperty('max-height', windowHeight * 0.9 + 'px', 'important'); $sideBar.style.removeProperty('height'); $sideBar.style.removeProperty('width'); $sideBar.classList.remove('cart-coupon-code-modal--in-drawer'); return; } const drawerHeight = (windowHeight - 40) + 'px'; $sideBar.style.setProperty('max-height', drawerHeight, 'important'); $sideBar.style.setProperty('height', drawerHeight, 'important'); $sideBar.classList.add('cart-coupon-code-modal--in-drawer'); const rect = $drawer.getBoundingClientRect(); if (rect.width > 0) { $sideBar.style.setProperty('width', rect.width + 'px', 'important'); } } } SPZ.defineElement(TAG, SpzCustomCartCouponCodeUtils);
${function(){ const settings_product_image_hover_on = true; const variantShowLimit = 4; const private_id = 'product-tmpl-' + Math.random().toFixed(6).slice(-6); const product_variants = data.variants || []; const product_id = data.id; const images = data.images || []; const image = data.image || {}; const imageWidth = image.width; let imageHeight = image.height; const price = Number(data.price_min); let compareAtPrice = Number(data.compare_at_price); const type = data.type; const isMock = data.isMock; let product_image_hover_on = false; for (item of product_variants) { const vcap = Number(item.compare_at_price); if (item.price == price && vcap > compareAtPrice) { compareAtPrice = vcap; } } let second_image = null; if (settings_product_image_hover_on) { for (img of images.slice(1)) { if (img.src && img.src.indexOf('video=') === -1) { second_image = img; product_image_hover_on = true; break; } } } const sold_label_on = !data.available; let sale_label_on = false; if (compareAtPrice > price && data.available) { sale_label_on = true; } const diffPrice = compareAtPrice - price; return `
${function(){ return `
` }() }
SOLD OUT
SALE
${data.title}
-
${data.available ? `
` : ''}
`; }()}
const carousel = document.getElementById('marketing-quick-view-images'); const selector = document.getElementById('marketing-quick-view-thumb-images'); const resizeObserver = new ResizeObserver(entries => { for (let entry of entries) { const { height } = entry.contentRect; selector.style.height = height + 'px'; } }); resizeObserver.observe(carousel);
${function(){ const variantsNamesSet = new Set(data.options.map((opt) => opt.name.toLowerCase()) || []); const handleName = (name) => name.replace(/\/|\\|\s|\'|\"|`|\<|\>/g, ''); const mouseoutevent = data.options.map((opt) => `@${handleName(opt.name)}Mouseout="qv-selected-render-${opt.id}.rerender(data=event,redo=true);"`).join(' '); const mouseoverevent = data.options.map((opt) => `@${handleName(opt.name)}Mouseover="qv-selected-render-${opt.id}.rerender(data=event,redo=true);"`).join(' '); const variants = data?.variants?.map((item) => item.image.path) || []; const productData = data; const images = data.images; const selectedVariant = data.variants.find(v => v.available) || data.variants[0]; const selectedIndex = !!selectedVariant ? images.findIndex(img => img.src === (selectedVariant.image && selectedVariant.image.src)) : 0; const initialSlide = selectedIndex === -1 ? 0 : selectedIndex; return `
${images.map((image, index) => `
`).join('')}
${images.map(image => `
`).join('')} ${images.length > 1 ? `
` : ''}
${data.title}
Price
${function() { const origin = "view"; const product = (origin === 'shop' ? data.product : data) || {}; const selectedVariant = product.variants.find(v => v.available) || product.variants[0]; return !!selectedVariant ? `
Save
` : `
-
`; }()}
Quantity
${selectedVariant.available ? "Add to cart" : "SOLD OUT"}
Buy it now
Product was out of stock.
Product is unavailable.
-
${function() { const MAX_INVENTORY = 999999; const product0 = Object.prototype.toString.call(data) == '[object Array]' ? data[0] : (data.product || data); const inventoryQty = product0.inventory_quantity; const inventoryPolicy = product0.inventory_policy; const inventoryTracking = product0.inventory_tracking; const lowStock = 5; const selectedVariant = product0.variants.find(v => v.available) || product0?.variants[0]; const selectedVariantAvailableQuantity = selectedVariant && selectedVariant.available_quantity; let actualInventory = inventoryQty; if ((inventoryTracking && inventoryPolicy == 'continue') || !inventoryTracking) { actualInventory = MAX_INVENTORY; } return `
Avaliability:
Product was out of stock.
in stock, ready to be shipped
Low stock
`; }()}
` }()}
${function(){ return (data.product.options || []).map((option, index) => { const optionName = option.name || ''; const optionId = option.id || ''; return `
${optionName}:
${data.selectedValues[optionName]}
${option.values.map((value,idx) => { const selected = data.selectedValues[optionName] == value ? 'checked' : ''; let thumbImage = null; return `
${value}
` }).join('')}
` }).join('') }()}
${function(){ const { currentOptName, originData: { selectData, value } } = data; const optionValue = selectData ? selectData[currentOptName].value[0] : value; return `
${optionValue}
` }()}
Save
-
${function(){ const productData = data.product; const selectedVariant = productData.variants.find(v => v.available) || productData.variants[0]; const product_options = productData.options.filter(Boolean) || []; const handleName = (name) => name.replace(/\/|\\|\s|\'|\"|`|\<|\>/g, ''); const mouseoutevent = productData.options.map((opt) => `@${handleName(opt.name)}Mouseout="qs-selected-render-${opt.id}.rerender(data=event,redo=true);"`).join(' '); const mouseoverevent = productData.options.map((opt) => `@${handleName(opt.name)}Mouseover="qs-selected-render-${opt.id}.rerender(data=event,redo=true);"`).join(' '); return `
Price
${function() { const origin = "shop"; const product = (origin === 'shop' ? data.product : data) || {}; const selectedVariant = product.variants.find(v => v.available) || product.variants[0]; return !!selectedVariant ? `
Save
` : `
-
`; }()}
Quantity
${selectedVariant.available ? "Add to cart" : "SOLD OUT"}
Buy it now
Product was out of stock.
Product is unavailable.
-
${function() { const MAX_INVENTORY = 999999; const product0 = Object.prototype.toString.call(data) == '[object Array]' ? data[0] : (data.product || data); const inventoryQty = product0.inventory_quantity; const inventoryPolicy = product0.inventory_policy; const inventoryTracking = product0.inventory_tracking; const lowStock = 5; const selectedVariant = product0.variants.find(v => v.available) || product0?.variants[0]; const selectedVariantAvailableQuantity = selectedVariant && selectedVariant.available_quantity; let actualInventory = inventoryQty; if ((inventoryTracking && inventoryPolicy == 'continue') || !inventoryTracking) { actualInventory = MAX_INVENTORY; } return `
Avaliability:
Product was out of stock.
in stock, ready to be shipped
Low stock
`; }()}
` }()}
${function(){ return (data.product.options || []).map((option, index) => { const optionName = option.name || ''; const optionId = option.id || ''; return `
${optionName}:
${data.selectedValues[optionName]}
${option.values.map((value,idx) => { const selected = data.selectedValues[optionName] == value ? 'checked' : ''; let thumbImage = null; return `
${value}
` }).join('')}
` }).join('') }()}
${function(){ const { currentOptName, originData: { selectData, value } } = data; const optionValue = selectData ? selectData[currentOptName].value[0] : value; return `
${optionValue}
` }()}
Save
-
const TAG = 'spz-custom-marketing-utils'; class SpzCustomMarketingUtils extends SPZ.BaseElement { constructor(element) { super(element); } static deferredMount() { return false; } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } mountCallback() { this.ensureToastInBody_('coupon-code-toast-wrap'); } showCouponCodeToast_(message) { this.ensureToastInBody_('coupon-code-toast-wrap'); const toastEl = document.getElementById('coupon-code-toast'); if (!toastEl) return; SPZ.whenApiDefined(toastEl).then((apis) => { apis.showToast(message); }); } ensureToastInBody_(id) { const wrapEl = document.getElementById(id); if (!wrapEl) return; if (!wrapEl.closest('[data-section-type="cart_drawer"]')) return; if (wrapEl.parentNode !== document.body) { document.body.appendChild(wrapEl); } } buildCallback() { this.registerAction('addToCartTrigger', (invocation) => { window.$ && $(document).trigger('dj.common.cart.change'); window.$ && $(document).trigger('dj.addToCart', invocation.event.detail); }); this.registerAction('showAddToCartToast', () => { this.showCouponCodeToast_("Added successfully"); }); } } SPZ.defineElement(TAG, SpzCustomMarketingUtils);
Discount code
Apply
${function(){ if (data.status === 'APPLY_STATUS_SUCCESS' || !data.message) { return `
` } return `
${data.originData.message}
Add
` }()}
${data.map( item => { return `
${item}
` }).join('')}
Below discount codes are unavailable
${data.map( item => { return `
${item}
` }).join('')}
${function(){ const code_data = data.originData.list; if (!code_data || !code_data.length) return ''; const recommendDom = `
Recommend discount codes
`; const discountCodeListDom = code_data.map( item => { item.end_at = item.end_at == -1 ? item.end_at : item.end_at * 1000; item.start_at *= 1000; return `
${item.discount_text}
-
${item.code}
` }).join(''); return `
${recommendDom}
${discountCodeListDom}
${recommendDom}
${discountCodeListDom}
` }()}
Total:
${function() { const textArray = ("Save {{save_amount}}").split(/\{\{\s*save_amount\}\}/); if (textArray.length > 0 && textArray.length < 2) { textArray.push(''); } return textArray.map((text, index) => { if (index == 0) { return `
${text}
`; } return `
${text}
`; }).join(''); }()}
${function() { const textArray = ("Save {{save_amount}}").split(/\{\{\s*save_amount\}\}/); if (textArray.length > 0 && textArray.length < 2) { textArray.push(''); } return textArray.map((text, index) => { if (index == 0) { return `
${text}
`; } return `
${text}
`; }).join(''); }()}
${discount_application.title}:
-
${data.invalid_msg}
Taxes and shipping calculated at checkout
Check out
${data.invalid_msg}
Total:
${function() { const textArray = ("Save {{save_amount}}").split(/\{\{\s*save_amount\}\}/); if (textArray.length > 0 && textArray.length < 2) { textArray.push(''); } return textArray.map((text, index) => { if (index == 0) { return `
${text}
`; } return `
${text}
`; }).join(''); }()}
${function() { const textArray = ("Save {{save_amount}}").split(/\{\{\s*save_amount\}\}/); if (textArray.length > 0 && textArray.length < 2) { textArray.push(''); } return textArray.map((text, index) => { if (index == 0) { return `
${text}
`; } return `
${text}
`; }).join(''); }()}
${function() { const textArray = ("Save {{save_amount}}").split(/\{\{\s*save_amount\}\}/); if (textArray.length > 0 && textArray.length < 2) { textArray.push(''); } return textArray.map((text, index) => { if (index == 0) { return `
${text}
`; } return `
${text}
`; }).join(''); }()}
${discount_application.title}:
-
Check out
${data.invalid_msg}
Check out
Taxes and shipping calculated at checkout
Subtotal:
${discount_application.title}:
-
Total:
Check out
Taxes and shipping calculated at checkout
View Cart
${function(){ console.log('quick-shop-render',data); const productData = data.product; let product_change_event = '', mouse_over_event = ' '; mouse_out_event = ''; const product_options = productData.options.filter(Boolean) || []; const selectedVariant = productData.variants.find(v => v.available) || productData.variants[0]; const statusLan = ((selectedVariant && !selectedVariant.available) || (!selectedVariant && !productData.available)) ? "Sold out" : "Add to cart"; return `
${statusLan}
` }()}
${function(){ const currentSelectVariant = data.variant; const defaultVariant = (data.product && data.product.variants && data.product.variants[0]); const variantData = currentSelectVariant || defaultVariant || data; const retail_price = variantData.retail_price || 0; return `
Retail
` }()}
${function(){ const wholesale_enabled = false; const qty = data.quantity || 1; const currentSelectVariant = data.variant; const defaultVariant = (data.product && data.product.variants && data.product.variants[0]); const productVariant = {"id":"d3335606-a4a7-4bfa-8fe4-a6ef6f552204","product_id":"48f0698d-f8e0-4325-b40c-08a53c5706f2","title":"The product does not support the 7-day no-reason return policy-90cm","weight_unit":"kg","inventory_quantity":0,"sku":"886553213359_\u3010The product does not support 7-day no-reason return\u3011_90cm","barcode":"","position":1,"option1":"The product does not support the 7-day no-reason return policy","option2":"90cm","option3":"","note":"","image":null,"wholesale_price":[{"price":9.41,"min_quantity":1}],"weight":"0.3","compare_at_price":"9.41","price":"9.41","retail_price":"9.41","available":true,"url":"\/products\/in-stock-childrens-t-shirt-26-summer-mp-pastoral-style-girls-tie-neck-top-and-popcorn-pants-skirt-set?variant=d3335606-a4a7-4bfa-8fe4-a6ef6f552204","available_quantity":999999999,"options":[{"name":"Color","value":"The product does not support the 7-day no-reason return policy"},{"name":"Size","value":"90cm"}],"off_ratio":"0","flashsale_info":{"variant_id":"d3335606-a4a7-4bfa-8fe4-a6ef6f552204","product_id":"","quantity":0,"discount_id":"","limit_time":0,"limit_buy":0,"user_limit_buy":0,"discount_sales":0,"discount_sales_rate":"","discount_stock":0,"ends_at":0,"starts_at":0,"allow_oversold":"","allocation_method":"","price":"9.41","compare_at_price":"","discount_price":"9.41","customary_saved_price":"","customary_off_ratio":"","discount_saved_price":"","discount_off_ratio":"0","use_before_price":false,"before_price":"","title":"","properties":"","color_setting_promotional_copy":"","discount_quantity":0,"is_need_split":false},"sales":0}; const variantData = currentSelectVariant || defaultVariant || productVariant; const wholesale_price = variantData.wholesale_price || []; if(wholesale_enabled && wholesale_price.length > 0) { let wholesaleIndex = wholesale_price.findIndex(item => { return item.min_quantity > qty; }); if(wholesaleIndex < 0){ wholesaleIndex = wholesale_price.length - 1; }else if(wholesaleIndex > 0){ wholesaleIndex = wholesaleIndex - 1; } const wholesalePrice = wholesale_price[wholesaleIndex] || ''; return `
` }else { const price = variantData && variantData.price; return price != undefined ? `
` : '
'; } }()}
${function(){ const optionName = option.name || ''; const optionId = option.id || ''; let isThumbImage = !!option.showThumbImage; const thumbStyle = "image_with_text"; const variantType = "button"; const isSelected = (value) => { const selected = (data.selectedOptions || []).find(v => v.name === optionName); return selected && selected.value.length && selected.value[0] == value; }; const getThumbImage = (value) => { const options = data.product.options || []; const option = options.find(o => o.name === optionName); if (option.thumbImages) { const thumbImage = option.thumbImages.find(t => t.value === value); if (thumbImage && thumbImage.image) { return { src: thumbImage.image.src, alt: thumbImage.image.alt }; } } return {src: '', alt: ''}; }; return `
${optionName}:
${data.selectedOptions && data.selectedOptions.length && data.selectedOptions.find(v => v.name === optionName).value[0]}
${value}
${optionName}
${value}
${value}
` }()}
${data.value}