(function() { class SPZCustomProductValidate extends SPZ.BaseElement { constructor(element) { super(element); this.action_ = SPZServices.actionServiceForDoc(this.element); } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } buildCallback() { this.setupAction_(); } setupAction_() { this.registerAction('handleProductDetailError', (invocation) => { this.handleProductDetailError_(invocation); }); } handleProductDetailError_(invocation) { const tipText = this.transformToastTips_(invocation.args.content); const container = document.getElementById('product-info-body'); this.waitForElement_('.product-info__variants-tips', container) .then(element => { element.scrollIntoView({ block: 'center' }); this.trigger_('error', tipText); }) .catch((error) => { this.trigger_('error', tipText); console.warn(error); }); } waitForElement_(selector, container = document.body, timeout = 3000) { return new Promise((resolve, reject) => { // 首先检查元素是否已经存在 const element = container.querySelector(selector); if (element) { return resolve(element); } // 设置超时 const timeoutId = setTimeout(() => { observer.disconnect(); reject(new Error(`等待元素 ${selector} 超时`)); }, timeout); // 创建观察器 const observer = new MutationObserver((mutations, obs) => { const element = container.querySelector(selector); if (element) { clearTimeout(timeoutId); obs.disconnect(); resolve(element); } }); // 开始观察指定容器 observer.observe(container, { childList: true, subtree: true }); }); } transformToastTips_(data) { let result = ''; data.split(',').forEach(item => { result += "Please select a {{ name }}".replace(/\{\{\s+name\s+\}\}/g, item); }); return result; } trigger_(name, data) { const event = SPZUtils.Event.create(this.win, 'spz-custom-product-validate.${name}', { data }); this.action_.trigger(this.element, name, event); } } SPZ.defineElement('spz-custom-product-validate', SPZCustomProductValidate); }())
${(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; 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; }; 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}
Add to cart
Add to cart
Choose an option
${variant.title}/
Sold out
` })()}
Enjoy 10% off your first order with code FIRST10
Enjoy 10% off your first order with code FIRST10
Search
Log in
Create an account
${data.data && data.data.count}
HOME
All Shoes
BEST SELLERS
HOT
NEW IN
Heels
Shop By Heel Style
Kitten Heels
Stiletto Heels
Chunky Heels
Block Heels
Platform Heels
Shop By Strap Style
Mary Jane Shoes
Slingback Heels
Ankle Strap Heels
T-strap Heels
Green Round Toe Chunky Heel Slip-On Platform Mules for Women
$115.00
Add to cart
Choose an option
Green-3/
$115.00
Green-4/
$115.00
Green-4.5/
$115.00
Green-5/
$115.00
Green-5.5/
$115.00
Green-6/
$115.00
Green-6.5/
$115.00
Green-7/
$115.00
Green-7.5/
$115.00
Green-8/
$115.00
Green-8.5/
$115.00
Green-9/
$115.00
Green-9.5/
$115.00
Green-10/
$115.00
Green-10.5/
$115.00
Green-11/
$115.00
Green-11.5/
$115.00
Green-12/
$115.00
Green-12.5/
$115.00
Green-13/
$115.00
Green-13.5/
$115.00
Green-14/
$115.00
Green-14.5/
$115.00
Green-15/
$115.00
BOOTS
Shop By Collection
Cowgirl Boots
Chelsea Boots
Shaft Height
Ankle Boots
Mid-calf Boots
Knee High Boots
Over the Knee Boots
Thigh High Boots
Tan Distressed Embroidered Snip Toe Ankle Boots with Two Brass Zips
$136.00
Add to cart
Choose an option
Tan-3/
$136.00
Tan-4/
$136.00
Tan-4.5/
$136.00
Tan-5/
$136.00
Tan-5.5/
$136.00
Tan-6/
$136.00
Tan-6.5/
$136.00
Tan-7/
$136.00
Tan-7.5/
$136.00
Tan-8/
$136.00
Tan-8.5/
$136.00
Tan-9/
$136.00
Tan-9.5/
$136.00
Tan-10/
$136.00
Tan-10.5/
$136.00
Tan-11/
$136.00
Tan-11.5/
$136.00
Tan-12/
$136.00
Tan-12.5/
$136.00
Tan-13/
$136.00
Tan-13.5/
$136.00
Tan-14/
$136.00
Tan-14.5/
$136.00
Tan-15/
$136.00
SANDALS
Platform Sandals
Gladiator Sandals
Ivory Satin Open Toe 5'' Block Heel Ankle Strap Wedding Sandals
$112.00
Add to cart
Choose an option
Ivory-3/
$112.00
Ivory-4/
$112.00
Ivory-4.5/
$112.00
Ivory-5/
$112.00
Ivory-5.5/
$112.00
Ivory-6/
$112.00
Ivory-6.5/
$112.00
Ivory-7/
$112.00
Ivory-7.5/
$112.00
Ivory-8/
$112.00
Ivory-8.5/
$112.00
Ivory-9/
$112.00
Ivory-9.5/
$112.00
Ivory-10/
$112.00
Ivory-10.5/
$112.00
Ivory-11/
$112.00
Ivory-11.5/
$112.00
Ivory-12/
$112.00
Ivory-12.5/
$112.00
Ivory-13/
$112.00
Ivory-13.5/
$112.00
Ivory-14/
$112.00
Ivory-14.5/
$112.00
Ivory-15/
$112.00
MULES
WEDDING
FLATS
SHOP BY OCCASION
SCHOOL
WORK
DATING
FORMAL EVENT
MUSIC FESTIVAL
ENGAGEMENT
ANNIVERSARY
GOING OUT
NIGHT CLUB
CUSTOMIZE
More links
${(function(){ var linkList =[false,false,false,false,true,true,true,false,false,false,true,false].slice(offset); var hasChild = linkList.some(v => v); if(!hasChild){ return `
HOME
All Shoes
BEST SELLERS
HOT
NEW IN
Heels
BOOTS
SANDALS
MULES
WEDDING
FLATS
SHOP BY OCCASION
CUSTOMIZE
` } return `
HOME
All Shoes
BEST SELLERS
HOT
NEW IN
Heels
BOOTS
SANDALS
MULES
WEDDING
FLATS
SHOP BY OCCASION
CUSTOMIZE
Shop By Heel Style
Kitten Heels
Stiletto Heels
Chunky Heels
Block Heels
Platform Heels
Shop By Strap Style
Mary Jane Shoes
Slingback Heels
Ankle Strap Heels
T-strap Heels
Shop By Collection
Cowgirl Boots
Chelsea Boots
Shaft Height
Ankle Boots
Mid-calf Boots
Knee High Boots
Over the Knee Boots
Thigh High Boots
Platform Sandals
Gladiator Sandals
SCHOOL
WORK
DATING
FORMAL EVENT
MUSIC FESTIVAL
ENGAGEMENT
ANNIVERSARY
GOING OUT
NIGHT CLUB
` })()}
HOME
All Shoes
BEST SELLERS
HOT
NEW IN
Heels
Shop By Heel Style
Kitten Heels
Stiletto Heels
Chunky Heels
Block Heels
Platform Heels
Shop By Strap Style
Mary Jane Shoes
Slingback Heels
Ankle Strap Heels
T-strap Heels
Green Round Toe Chunky Heel Slip-On Platform Mules for Women
$115.00
Add to cart
Choose an option
Green-3/
$115.00
Green-4/
$115.00
Green-4.5/
$115.00
Green-5/
$115.00
Green-5.5/
$115.00
Green-6/
$115.00
Green-6.5/
$115.00
Green-7/
$115.00
Green-7.5/
$115.00
Green-8/
$115.00
Green-8.5/
$115.00
Green-9/
$115.00
Green-9.5/
$115.00
Green-10/
$115.00
Green-10.5/
$115.00
Green-11/
$115.00
Green-11.5/
$115.00
Green-12/
$115.00
Green-12.5/
$115.00
Green-13/
$115.00
Green-13.5/
$115.00
Green-14/
$115.00
Green-14.5/
$115.00
Green-15/
$115.00
BOOTS
Shop By Collection
Cowgirl Boots
Chelsea Boots
Shaft Height
Ankle Boots
Mid-calf Boots
Knee High Boots
Over the Knee Boots
Thigh High Boots
Tan Distressed Embroidered Snip Toe Ankle Boots with Two Brass Zips
$136.00
Add to cart
Choose an option
Tan-3/
$136.00
Tan-4/
$136.00
Tan-4.5/
$136.00
Tan-5/
$136.00
Tan-5.5/
$136.00
Tan-6/
$136.00
Tan-6.5/
$136.00
Tan-7/
$136.00
Tan-7.5/
$136.00
Tan-8/
$136.00
Tan-8.5/
$136.00
Tan-9/
$136.00
Tan-9.5/
$136.00
Tan-10/
$136.00
Tan-10.5/
$136.00
Tan-11/
$136.00
Tan-11.5/
$136.00
Tan-12/
$136.00
Tan-12.5/
$136.00
Tan-13/
$136.00
Tan-13.5/
$136.00
Tan-14/
$136.00
Tan-14.5/
$136.00
Tan-15/
$136.00
SANDALS
Platform Sandals
Gladiator Sandals
Ivory Satin Open Toe 5'' Block Heel Ankle Strap Wedding Sandals
$112.00
Add to cart
Choose an option
Ivory-3/
$112.00
Ivory-4/
$112.00
Ivory-4.5/
$112.00
Ivory-5/
$112.00
Ivory-5.5/
$112.00
Ivory-6/
$112.00
Ivory-6.5/
$112.00
Ivory-7/
$112.00
Ivory-7.5/
$112.00
Ivory-8/
$112.00
Ivory-8.5/
$112.00
Ivory-9/
$112.00
Ivory-9.5/
$112.00
Ivory-10/
$112.00
Ivory-10.5/
$112.00
Ivory-11/
$112.00
Ivory-11.5/
$112.00
Ivory-12/
$112.00
Ivory-12.5/
$112.00
Ivory-13/
$112.00
Ivory-13.5/
$112.00
Ivory-14/
$112.00
Ivory-14.5/
$112.00
Ivory-15/
$112.00
MULES
WEDDING
FLATS
SHOP BY OCCASION
SCHOOL
WORK
DATING
FORMAL EVENT
MUSIC FESTIVAL
ENGAGEMENT
ANNIVERSARY
GOING OUT
NIGHT CLUB
CUSTOMIZE
More links
${(function(){ var linkList =[false,false,false,false,true,true,true,false,false,false,true,false].slice(offset); var hasChild = linkList.some(v => v); if(!hasChild){ return `
HOME
All Shoes
BEST SELLERS
HOT
NEW IN
Heels
BOOTS
SANDALS
MULES
WEDDING
FLATS
SHOP BY OCCASION
CUSTOMIZE
` } return `
HOME
All Shoes
BEST SELLERS
HOT
NEW IN
Heels
BOOTS
SANDALS
MULES
WEDDING
FLATS
SHOP BY OCCASION
CUSTOMIZE
Shop By Heel Style
Kitten Heels
Stiletto Heels
Chunky Heels
Block Heels
Platform Heels
Shop By Strap Style
Mary Jane Shoes
Slingback Heels
Ankle Strap Heels
T-strap Heels
Shop By Collection
Cowgirl Boots
Chelsea Boots
Shaft Height
Ankle Boots
Mid-calf Boots
Knee High Boots
Over the Knee Boots
Thigh High Boots
Platform Sandals
Gladiator Sandals
SCHOOL
WORK
DATING
FORMAL EVENT
MUSIC FESTIVAL
ENGAGEMENT
ANNIVERSARY
GOING OUT
NIGHT CLUB
` })()}
Log in
Create an account
${data.data && data.data.count}
Search
${(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.
` })()}
${(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
All Shoes
BEST SELLERS
HOT
NEW IN
Heels
Heels
Shop By Heel Style
Shop By Heel Style
Kitten Heels
Stiletto Heels
Chunky Heels
Block Heels
Platform Heels
Shop By Strap Style
Shop By Strap Style
Mary Jane Shoes
Slingback Heels
Ankle Strap Heels
T-strap Heels
BOOTS
BOOTS
Shop By Collection
Shop By Collection
Cowgirl Boots
Chelsea Boots
Shaft Height
Shaft Height
Ankle Boots
Mid-calf Boots
Knee High Boots
Over the Knee Boots
Thigh High Boots
SANDALS
SANDALS
Platform Sandals
Gladiator Sandals
MULES
WEDDING
FLATS
SHOP BY OCCASION
SHOP BY OCCASION
SCHOOL
WORK
DATING
FORMAL EVENT
MUSIC FESTIVAL
ENGAGEMENT
ANNIVERSARY
GOING OUT
NIGHT CLUB
CUSTOMIZE
Log in
Create an account
(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(); })();
Size Chart
View Cart
${function(){ const productData = data.product; let product_change_event = '', mouse_over_event = ' '; mouse_out_event = ''; const product_options = productData.options.filter(Boolean) || []; for (let opt of product_options) { const nameEscape = opt.name.replace(/\/|\\|\s|\'|\"|`|\<|\>/g, '') product_change_event = product_change_event + `quick-shop-selected-variant-${opt.id}.rerender(data=event.selectedValues.${opt.name});`; mouse_out_event = mouse_out_event + `@${nameEscape}Mouseout="quick-shop-selected-variant-${opt.id}.rerender(data=event.selectData.${opt.name}, redo=true);"`; mouse_over_event = mouse_over_event + `@${nameEscape}Mouseover="quick-shop-selected-variant-${opt.id}.rerender(data=event, redo=true);"`; } 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 = null; 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() { let variantImageShowed = false; const currentProduct = data.product; return (currentProduct.options || []).map((option, index) => { const optionName = option.name || ''; const optionId = option.id || ''; const position = `option${index + 1}`; let isThumbImage = false; if (currentProduct.need_variant_image && !variantImageShowed) { const variantNames = [] || []; for (let i = 0, len = variantNames.length; i < len; i++) { const name = variantNames[i].toLowerCase(); if (name === optionName.toLowerCase()) { isThumbImage = true; variantImageShowed = true; } } } const variantType = "button"; const thumbStyle = "image_with_text"; return `
${optionName}:
${option.values.map((value, idx) => { const selected = data.selectedValues[optionName] == value ? 'checked' : ''; let thumbImage = null; if (isThumbImage) { const variants = currentProduct.variants; for (let i = 0, len = variants.length; i < len; i++) { const variant = variants[i]; if (variant[position] == value && thumbImage == null) { thumbImage = variant.image; break; } } } return `
${value}
` }).join('')}
${optionName}
${option.values.map(value => { const selected = data.selectedValues[optionName] == value ? 'selected' : ''; return `
${value}
` }).join('')}
` }).join(''); }()}
${data.originData && data.originData.value || data.value}