Heeled sandals

402 Products
Filter
  • Reset
  • The highest price is 190
    $
    $
  • 0 selected
    Reset
  • 0 selected
    Reset
  • 0 selected
    Reset
  • 0 selected
    Reset
Filter
  • Price
  • Color
  • Platform
  • Heel Type
  • Season
    Price
  • The highest price is 190
    $
    $
    Color
    Platform
    Heel Type
    Season
Glitter Pointed Toe Sparkling Silver And Pink Slingback Kitten Heel Pump For Women Nicepairs Glitter Pointed Toe Sparkling Silver And Pink Slingback Kitten Heel Pump For Women Nicepairs

Glitter Pointed Toe Sparkling Silver And Pink Slingback Kitten Heel Pump For Women

$112.00
Add to cart
Pink Leopard Print Patent Leather Pointed Toe Elegant Kitten Heel Slingback Dress Pump Shoes Nicepairs Pink Leopard Print Patent Leather Pointed Toe Elegant Kitten Heel Slingback Dress Pump Shoes Nicepairs

Pink Leopard Print Patent Leather Pointed Toe Elegant Kitten Heel Slingback Dress Pump Shoes

$112.00
Add to cart
Pink Patent Leather Pointed Toe Kitten Heel Pumps with Lip Pattern Nicepairs Pink Patent Leather Pointed Toe Kitten Heel Pumps with Lip Pattern Nicepairs

Pink Patent Leather Pointed Toe Kitten Heel Pumps with Lip Pattern

$112.00
Add to cart
Pink Leopard Print Pointed Toe Kitten Heel Slingback Pumps for Dress Nicepairs Pink Leopard Print Pointed Toe Kitten Heel Slingback Pumps for Dress Nicepairs

Pink Leopard Print Pointed Toe Kitten Heel Slingback Pumps for Dress

$112.00
Add to cart
Pink Kitten Heels Sexy Stiletto Pumps  Sparkly Ankle Strap Heels Sandals Dress Shoes for Women Nicepairs Pink Kitten Heels Sexy Stiletto Pumps  Sparkly Ankle Strap Heels Sandals Dress Shoes for Women Nicepairs

Pink Kitten Heels Sexy Stiletto Pumps Sparkly Ankle Strap Heels Sandals Dress Shoes for Women

$112.00
Add to cart
Women's Pink Striped Pattern Patent Leather High Heels Nicepairs Women's Pink Striped Pattern Patent Leather High Heels Nicepairs

Women's Pink Striped Pattern Patent Leather High Heels

$112.00
Add to cart
Pink Floral Pattern Patent Leather Pointed Toe Elegant Kitten Heel Slingback Dress Pump Shoes Nicepairs Pink Floral Pattern Patent Leather Pointed Toe Elegant Kitten Heel Slingback Dress Pump Shoes Nicepairs

Pink Floral Pattern Patent Leather Pointed Toe Elegant Kitten Heel Slingback Dress Pump Shoes

$112.00
Add to cart
Pink Cow Pattern Patent Leather Pointed Toe Elegant Kitten Heel Nicepairs Pink Cow Pattern Patent Leather Pointed Toe Elegant Kitten Heel Nicepairs

Pink Cow Pattern Patent Leather Pointed Toe Elegant Kitten Heel

$112.00
Add to cart
Pink Daisy Pattern Patent Leather Pointed Toe Elegant Kitten Heel Slingback Dress Pump Shoes Nicepairs Pink Daisy Pattern Patent Leather Pointed Toe Elegant Kitten Heel Slingback Dress Pump Shoes Nicepairs

Pink Daisy Pattern Patent Leather Pointed Toe Elegant Kitten Heel Slingback Dress Pump Shoes

$112.00
Add to cart
Pink Patent Leather Pointed Toe Kitten Heel Panda Slingback Pumps Nicepairs Pink Patent Leather Pointed Toe Kitten Heel Panda Slingback Pumps Nicepairs

Pink Patent Leather Pointed Toe Kitten Heel Panda Slingback Pumps

$112.00
Add to cart
Pink Patent Leather Pointed Toe Kitten Heel Panda Slingbacks Nicepairs Pink Patent Leather Pointed Toe Kitten Heel Panda Slingbacks Nicepairs

Pink Patent Leather Pointed Toe Kitten Heel Panda Slingbacks

$112.00
Add to cart
Pink Patent Leather Pointed Toe Kitten Heel Leopard Print Slingbacks Nicepairs Pink Patent Leather Pointed Toe Kitten Heel Leopard Print Slingbacks Nicepairs

Pink Patent Leather Pointed Toe Kitten Heel Leopard Print Slingbacks

$112.00
Add to cart
Pink Patent Leather Pointed Toe Slingback Pumps with Stiletto Heels Nicepairs Pink Patent Leather Pointed Toe Slingback Pumps with Stiletto Heels Nicepairs

Pink Patent Leather Pointed Toe Slingback Pumps with Stiletto Heels

$100.00
Add to cart
Pink & Orange Satin Pointed Toe Slingback Pumps with Bow Decor Nicepairs Pink & Orange Satin Pointed Toe Slingback Pumps with Bow Decor Nicepairs

Pink & Orange Satin Pointed Toe Slingback Pumps with Bow Decor

$108.00
Add to cart
Pink Mesh Sophisticated Round Toe Ballet Flats for Women Nicepairs Pink Mesh Sophisticated Round Toe Ballet Flats for Women Nicepairs

Pink Mesh Sophisticated Round Toe Ballet Flats for Women

$100.00
Add to cart
Shiny Vegan Leather Distressed Pink Embroidered Wide-Calf Cowgirl Ankle Boots Nicepairs Shiny Vegan Leather Distressed Pink Embroidered Wide-Calf Cowgirl Ankle Boots Nicepairs

Shiny Vegan Leather Distressed Pink Embroidered Wide-Calf Cowgirl Ankle Boots

$128.00
Add to cart
Elegant Pink Satin Open-Toe Bow Double Strap Mule Heels for Women Nicepairs Elegant Pink Satin Open-Toe Bow Double Strap Mule Heels for Women Nicepairs

Elegant Pink Satin Open-Toe Bow Double Strap Mule Heels for Women

$118.00
Add to cart
Pink Metallic Finish Pointed Toe Embroidered Mid-Calf Cowgirl Boots Nicepairs Pink Metallic Finish Pointed Toe Embroidered Mid-Calf Cowgirl Boots Nicepairs

Pink Metallic Finish Pointed Toe Embroidered Mid-Calf Cowgirl Boots

$136.00
Add to cart
Pink Square Toe Strappy High Heel Sandals Floral Wedding Shoes Nicepairs Pink Square Toe Strappy High Heel Sandals Floral Wedding Shoes Nicepairs

Pink Square Toe Strappy High Heel Sandals Floral Wedding Shoes

$109.00
Add to cart
Elegant Pale Pink Satin Round Toe Bow Inlay Comfy Ballet Flats Nicepairs Elegant Pale Pink Satin Round Toe Bow Inlay Comfy Ballet Flats Nicepairs

Elegant Pale Pink Satin Round Toe Bow Inlay Comfy Ballet Flats

$100.00
Add to cart
Pink Faux Suede Caged Studded Platform Sandals with Chunky Heels Nicepairs Pink Faux Suede Caged Studded Platform Sandals with Chunky Heels Nicepairs

Pink Faux Suede Caged Studded Platform Sandals with Chunky Heels

$112.00
Add to cart
Pink Patent Leather Heart Buckle Strappy Platform Heeled Mary Jane Shoes Nicepairs Pink Patent Leather Heart Buckle Strappy Platform Heeled Mary Jane Shoes Nicepairs

Pink Patent Leather Heart Buckle Strappy Platform Heeled Mary Jane Shoes

$115.00
Add to cart
Pink Leopard Print Pointed Toe Kitten Heel Slingback Pumps Nicepairs Pink Leopard Print Pointed Toe Kitten Heel Slingback Pumps Nicepairs

Pink Leopard Print Pointed Toe Kitten Heel Slingback Pumps

$112.00
Add to cart
Pink Round Toe Flats Classic Horsebit Women's Loafers Nicepairs Pink Round Toe Flats Classic Horsebit Women's Loafers Nicepairs

Pink Round Toe Flats Classic Horsebit Women's Loafers

$108.00
Add to cart
Pink Metallic Vegan Leather Buckled Strappy Heeled Mary Janes Shoes Nicepairs Pink Metallic Vegan Leather Buckled Strappy Heeled Mary Janes Shoes Nicepairs

Pink Metallic Vegan Leather Buckled Strappy Heeled Mary Janes Shoes

$100.00
Add to cart
Pink Elegant Patent Leather Sophisticated Pointed Toe Buckle Fastening Strappy Pumps With Stiletto Heels Nicepairs Pink Elegant Patent Leather Sophisticated Pointed Toe Buckle Fastening Strappy Pumps With Stiletto Heels Nicepairs

Pink Elegant Patent Leather Sophisticated Pointed Toe Buckle Fastening Strappy Pumps With Stiletto Heels

$118.00
Add to cart
Women's Stylish Pink Glittery Square Toe Wide Band Mules       Nicepairs Women's Stylish Pink Glittery Square Toe Wide Band Mules       Nicepairs

Women's Stylish Pink Glittery Square Toe Wide Band Mules

$109.00
Add to cart
Pink & Clear Closed Toe 4'' Stiletto Heel Lace Up Pumps with Rhinestone Nicepairs Pink & Clear Closed Toe 4'' Stiletto Heel Lace Up Pumps with Rhinestone Nicepairs

Pink & Clear Closed Toe 4'' Stiletto Heel Lace Up Pumps with Rhinestone

$120.00
Add to cart
Pink & Clear PVC Pointed Toe Stiletto Heel Rhinestone Pumps Nicepairs Pink & Clear PVC Pointed Toe Stiletto Heel Rhinestone Pumps Nicepairs

Pink & Clear PVC Pointed Toe Stiletto Heel Rhinestone Pumps

$120.00
Add to cart
Pink Patent Leather Square Toe 4'' Decorative Heel Lace Up Sandals Nicepairs Pink Patent Leather Square Toe 4'' Decorative Heel Lace Up Sandals Nicepairs

Pink Patent Leather Square Toe 4'' Decorative Heel Lace Up Sandals

$115.00
Add to cart
Pink Rhinestone Open Toe Stiletto Heel Knee High Sandals Nicepairs Pink Rhinestone Open Toe Stiletto Heel Knee High Sandals Nicepairs

Pink Rhinestone Open Toe Stiletto Heel Knee High Sandals

$108.00
Add to cart
Pink Square Toe 3'' Decorative Heel Rhinestone Mule Sandals Nicepairs Pink Square Toe 3'' Decorative Heel Rhinestone Mule Sandals Nicepairs

Pink Square Toe 3'' Decorative Heel Rhinestone Mule Sandals

$120.00
Add to cart
Pink Clear PVC Closed Toe 3'' Flared Heel Rhinestone Slingback Pumps Nicepairs Pink Clear PVC Closed Toe 3'' Flared Heel Rhinestone Slingback Pumps Nicepairs

Pink Clear PVC Closed Toe 3'' Flared Heel Rhinestone Slingback Pumps

$120.00
Add to cart
Blue & Pink Satin Open Toe 4'' Decorative Heel Ankle Strap Sandals Nicepairs Blue & Pink Satin Open Toe 4'' Decorative Heel Ankle Strap Sandals Nicepairs

Blue & Pink Satin Open Toe 4'' Decorative Heel Ankle Strap Sandals

$115.00
Add to cart
Green & Pink Satin Open Toe 4'' Decorative Heel Ankle Strap Sandals Nicepairs Green & Pink Satin Open Toe 4'' Decorative Heel Ankle Strap Sandals Nicepairs

Green & Pink Satin Open Toe 4'' Decorative Heel Ankle Strap Sandals

$115.00
Add to cart
Pink Satin Pointy Toe 4'' Decorative Heel Ankle Strap Sandals Nicepairs Pink Satin Pointy Toe 4'' Decorative Heel Ankle Strap Sandals Nicepairs

Pink Satin Pointy Toe 4'' Decorative Heel Ankle Strap Sandals

$115.00
Add to cart
Pink & Green Square Toe Block Heel Ankle Strap Sandals with Rhinestone Nicepairs Pink & Green Square Toe Block Heel Ankle Strap Sandals with Rhinestone Nicepairs

Pink & Green Square Toe Block Heel Ankle Strap Sandals with Rhinestone

$115.00
Add to cart
Pink & Clear PVC Square Toe 4'' Flared Heel Ankle Strap Sandals Nicepairs Pink & Clear PVC Square Toe 4'' Flared Heel Ankle Strap Sandals Nicepairs

Pink & Clear PVC Square Toe 4'' Flared Heel Ankle Strap Sandals

$115.00
Add to cart
Pink & Clear Square Toe 3'' Decorative Heel Pearl Ankle Strap Sandals Nicepairs Pink & Clear Square Toe 3'' Decorative Heel Pearl Ankle Strap Sandals Nicepairs

Pink & Clear Square Toe 3'' Decorative Heel Pearl Ankle Strap Sandals

$115.00
Add to cart
Pink Satin Closed Toe Kitten Heel Slingback Pumps with Bow Nicepairs Pink Satin Closed Toe Kitten Heel Slingback Pumps with Bow Nicepairs

Pink Satin Closed Toe Kitten Heel Slingback Pumps with Bow

$120.00
Add to cart
Pink Satin Pointed Toe 4'' Decorative Heel Strappy Mules with Bow Nicepairs Pink Satin Pointed Toe 4'' Decorative Heel Strappy Mules with Bow Nicepairs

Pink Satin Pointed Toe 4'' Decorative Heel Strappy Mules with Bow

$120.00
Add to cart
Pink Vegan Leather Square Toe 4'' Chunky Heel Mules Nicepairs Pink Vegan Leather Square Toe 4'' Chunky Heel Mules Nicepairs

Pink Vegan Leather Square Toe 4'' Chunky Heel Mules

$120.00
Add to cart
Pink Vegan Leather Open Toe 4'' Stiletto Heel Gladiator Sandals Nicepairs Pink Vegan Leather Open Toe 4'' Stiletto Heel Gladiator Sandals Nicepairs

Pink Vegan Leather Open Toe 4'' Stiletto Heel Gladiator Sandals

$108.00
Add to cart
Black & Hot Pink Satin Open Toe 4'' Stiletto Heel Ankle Strap Sandals Nicepairs Black & Hot Pink Satin Open Toe 4'' Stiletto Heel Ankle Strap Sandals Nicepairs

Black & Hot Pink Satin Open Toe 4'' Stiletto Heel Ankle Strap Sandals

$115.00
Add to cart
Light Pink Satin Square Toe 4'' Stiletto Heel Glitter Lace Up Sandals  Nicepairs Light Pink Satin Square Toe 4'' Stiletto Heel Glitter Lace Up Sandals  Nicepairs

Light Pink Satin Square Toe 4'' Stiletto Heel Glitter Lace Up Sandals

$115.00
Add to cart
Pink Satin Pointed Toe 3'' Flared Heel Pumps with Bow Decor Nicepairs Pink Satin Pointed Toe 3'' Flared Heel Pumps with Bow Decor Nicepairs

Pink Satin Pointed Toe 3'' Flared Heel Pumps with Bow Decor

$120.00
Add to cart
Hot Pink Satin Closed Toe 3'' Flared Heel Ankle Strap Slingback Pumps Nicepairs Hot Pink Satin Closed Toe 3'' Flared Heel Ankle Strap Slingback Pumps Nicepairs

Hot Pink Satin Closed Toe 3'' Flared Heel Ankle Strap Slingback Pumps

$120.00
Add to cart
Pink Vegan Leather Peep Toe Chunky Heel Platform Sandals with Buckle Nicepairs Pink Vegan Leather Peep Toe Chunky Heel Platform Sandals with Buckle Nicepairs

Pink Vegan Leather Peep Toe Chunky Heel Platform Sandals with Buckle

$120.00
Add to cart
Sorry, there are no products in this collection.
class SpzSmartBlockComponent extends SPZ.BaseElement { constructor(element) { super(element); this.templates_ = null; this.container_ = null; this.i18n_ = {}; this.config_ = {}; this.show_type_ = 3; this.product_resource_id_ = ''; this.collection_resource_id_ = ''; this.cart_items_ = []; this.customer_id_ = ''; this.order_id_ = ''; } static deferredMount() { return false; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { const template_type = window.SHOPLAZZA.meta.page.template_type; if (template_type === 1) { this.show_type_ = 3; this.product_resource_id_ = window.SHOPLAZZA.meta.page.resource_id; } else if (template_type === 2) { this.show_type_ = 4; this.collection_resource_id_ = window.SHOPLAZZA.meta.page.resource_id; } else if (template_type === 15){ this.show_type_ = 5; } else if (template_type === 13){ this.show_type_ = 6; } else if (template_type === 20){ this.show_type_ = 7; this.customer_id_ = window.SHOPLAZZA.customer.customer_id; } else if (template_type === 35){ this.show_type_ = 8; this.order_id_ = window.location.pathname.split('/').pop(); } this.templates_ = SPZServices.templatesForDoc(this.element); this.setAction_(); } mountCallback() { console.log('smart mounted'); const that = this; const themeName = window.SHOPLAZZA.theme.merchant_theme_name; const isGeek = /Geek/.test(themeName); this.fetchRules().then((res) => { if (res && res.rules && res.rules.length) { const blockEl = document.getElementById('smart_recommend_block'); SPZ.whenApiDefined(blockEl).then((api) => { api.render({data: res}, true).then(() => { if (isGeek && that.show_type_ === 6) { blockEl.querySelector('.plugin_container_wrpper').style.padding = '30px 0'; } const recommendStyle = document.createElement('style'); recommendStyle.innerHTML = ` .plugin__recommend_container,.app-recommend-card { display: none !important; } `; document.head.appendChild(recommendStyle); const fetchList = []; res.rules.forEach((rule) => { fetchList.push(this.fetchRuleProductList(rule.id)); }); const fetchAll = Promise.all(fetchList); fetchAll.then((p_res) => { res.rules.forEach((rule, index) => { rule.products = p_res[index] && p_res[index].products; const ruleEl = document.getElementById('smart_recommend_rule_' + rule.id); SPZ.whenApiDefined(ruleEl).then((api) => { api.render({data: rule}, true).then(() => { that.impressListen(`#smart_recommend_rule_ul_${rule.id}`, function(){ that.trackRuleImpress(rule); }); const btnElList = document.querySelectorAll(`#smart_recommend_rule_ul_${rule.id} button`); btnElList.forEach((btnEl) => { if (btnEl && rule.config && rule.config.quick_shop_button_bg_color && rule.config.quick_shop_button_text_color) { btnEl.style.backgroundColor = rule.config.quick_shop_button_bg_color; btnEl.style.color = rule.config.quick_shop_button_text_color; } }) }); }); }); }); }) }) } else { if (window.top !== window.self) { const template_type = window.SHOPLAZZA.meta.page.template_type; const holderEl = document.getElementById('smart_recommend_preview_no_data_placeholder'); SPZ.whenApiDefined(holderEl).then((api) => { api.render({data: { isCart: template_type === 13, isCollection: template_type === 2, isProduct: template_type === 1, isIndex: template_type === 15 }}, true); }); } } }); } setAction_() { this.registerAction('quickShop', (data) => { const that = this; const product_id = data.args.product_id; const productIndex = data.args.productIndex; const rule_id = data.args.rule_id; const ssp = data.args.ssp; const scm = data.args.scm; const cfb = data.args.cfb; const ifb = data.args.ifb; const modalRender = document.getElementById('smart_recommend_product_modal_render'); if (product_id) { this.fetchProductData(product_id).then((res) => { const product = res.products && res.products.length && res.products[0] || {}; product.cfb = cfb; product.ifb = ifb; SPZ.whenApiDefined(modalRender).then((api) => { api.render({product: product, productIndex: productIndex, rule_id: rule_id, ssp: ssp, scm: scm, show_type: that.show_type_}, true).then(() => { const modalEl = document.getElementById('smart_recommend_product_modal'); SPZ.whenApiDefined(modalEl).then((modal) => { that.impressListen('#smart_recommend_product_modal', function(){ that.trackQuickShop({ rule_id: rule_id, product_id: product_id }); }); modal.open(); }); const formEl = document.getElementById('smart_recommend_product_form'); SPZ.whenApiDefined(formEl).then((form) => { form.setProduct(product); }); const variantEl = document.getElementById('smart_recommend_product_variants'); SPZ.whenApiDefined(variantEl).then((variant) => { variant.handleRender(product); }); }); }) }); } }); this.registerAction('handleScroll', (data) => { this.directTo(data.args.rule_id, data.args.direction); }); this.registerAction('handleProductChange', (data) => { const variant = data.args.data.variant; const product = data.args.data.product; const imageRenderEl = document.getElementById('smart_recommend_product_image'); SPZ.whenApiDefined(imageRenderEl).then((api) => { api.render({ variant: variant, product: product }, true); }); }); this.registerAction('handleAtcSuccess', (detail) => { const data = detail.args; data.data.product = data.data.product || {}; data.data.variant = data.data.variant || {}; const product_id = data.data.product.id; const product_title = data.data.product.title; const variant_id = data.data.variant.id; const price = data.data.variant.price; const rule_id = data.rule_id; const aid = `smart_recommend.${this.show_type_}.${rule_id}`; const ifb = data.data.product.ifb; const cfb = data.data.product.cfb; const ssp = data.ssp; const scm = data.scm; const spm = `smart_recommend_${this.show_type_}.${data.spmIndex}`; const params = { id: product_id, product_id: product_id, number: 1, name: product_title, variant_id: variant_id, childrenId: variant_id, item_price: price, source: 'add_to_cart', _extra: { aid: aid, ifb: ifb, cfb: cfb, scm: scm, spm: `..${window.SHOPLAZZA.meta.page.template_name}.${spm}`, ssp: ssp, } }; this.tranckAddToCart(params); }); this.registerAction('addATCHook', (data) => { const params = data.args; const spm = `smart_recommend_${this.show_type_}.${params.spmIndex}`; this.myInterceptor_ = window.djInterceptors && window.djInterceptors.track.use({ event: 'dj.addToCart', params: { aid: `smart_recommend.${this.show_type_}.` + params.rule_id, ssp: params.ssp, scm: params.scm, cfb: params.cfb, spm: `..${window.SHOPLAZZA.meta.page.template_name}.${spm}`, }, once: true }); }); } tranckAddToCart(detail) { if (window.$) { window.$(document.body).trigger('dj.addToCart', detail); } } fetchRules() { const payload = { show_type: this.show_type_, }; let that = this; if (this.show_type_ === 6) { let line_items = []; return this.fetchCart().then((res) => { if (res && res.cart && res.cart.line_items) { line_items = res.cart.line_items.map((item) => { return { product_id: item.product_id, variant_id: item.variant_id, quantity: item.quantity, price: item.price } }); } payload.line_items = line_items; that.cart_items_ = line_items; return that.fetchRulesRequest(payload); }); } else { if (this.show_type_ === 3) { payload.line_items = [{ product_id: this.product_resource_id_ }]; } else if (this.show_type_ === 4) { payload.collection_id = this.collection_resource_id_; } else if (this.show_type_ === 7) { payload.customer_id = this.customer_id_; } else if (this.show_type_ === 8) { payload.order_id = this.order_id_; } return this.fetchRulesRequest(payload); } } fetchRulesRequest(payload) { return fetch(window.SHOPLAZZA.routes.root + "/api/possum/recommend_query", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload) }).then(function(res){ if(res.ok){ return res.json(); } }); } fetchCart() { return fetch(`/api/cart/cart-select?r=${Math.random().toString(36).slice(-4)}`) .then((res) => { if (res.ok) { return res.json(); } }); } fetchRuleProductList(rule_id) { const payload = { page: 1, limit: 100, fields: ["title", "url", "image", "min_price_variant.price", "min_price_variant.compare_at_price"], rule_id: rule_id, }; if (this.show_type_ === 3) { payload.line_items = [{ product_id: this.product_resource_id_ }]; } else if (this.show_type_ === 4) { payload.collection_id = this.collection_resource_id_; } else if (this.show_type_ === 6) { payload.line_items = this.cart_items_; } else if (this.show_type_ === 7) { payload.customer_id = this.customer_id_; } else if (this.show_type_ === 8) { payload.order_id = this.order_id_; } return fetch(window.SHOPLAZZA.routes.root + "/api/possum/recommend_products", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload) }).then(function(res){ if(res.ok){ return res.json(); } }).catch(function(err){ console.log(err); }); } fetchProductData(product_id) { return fetch(window.SHOPLAZZA.routes.root + "/api/possum/products", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ product_ids: [product_id], fields: [ "images", "options", "min_price_variant", "variants"] }) }).then(function(res){ if(res.ok){ return res.json(); } }).catch(function(err){ console.log(err); const loadingEl = document.getElementById('smart_recommend_loading'); if (loadingEl) { loadingEl.style.display = 'none'; } }); } getStyle(ele, style) { if (!ele) return; if (window.getComputedStyle) { return window.getComputedStyle(ele)[style]; } return ele.currentStyle[style]; } directTo(id, direction) { const scrollElement = document.getElementById(`smart_recommend_rule_ul_${id}`); const blockWidth = parseInt(this.getStyle(scrollElement, 'width')); const scrollLength = (blockWidth * 0.19 - 12) * 5; const scrollPoint = scrollElement.scrollWidth - scrollElement.clientWidth; if (!scrollElement) return; if (direction === 'left') { if (document.dir === 'rtl') { scrollElement.scrollTo({ left: Math.abs(scrollElement.scrollLeft) >= scrollPoint - 100 ? 0 : scrollElement.scrollLeft - scrollLength, behavior: 'smooth' }); return; } scrollElement.scrollTo({ left: Math.max(scrollElement.scrollLeft - scrollLength, 0), behavior: 'smooth' }); } else { if (document.dir === 'rtl') { scrollElement.scrollTo({ left: Math.abs(scrollElement.scrollLeft) >= scrollPoint + 100 ? 0 : scrollElement.scrollLeft + scrollLength, behavior: 'smooth' }); return; } scrollElement.scrollTo({ left: scrollElement.scrollLeft >= scrollPoint - 100 ? 0 : scrollElement.scrollLeft + scrollLength, behavior: 'smooth' }); } } trackRuleImpress(rule) { if (window.sa && window.sa.track) { window.sa.track("plugin_common", { plugin_name: "upsell", event_type: "impressions", rule_id: rule.id, ssp: rule.ssp, scm: rule.scm, show_type: this.show_type_, support_app_block: window.SHOPLAZZA.theme.support_app_block }); window.sa.track("module_impressions", { aid: `smart_recommend.${this.show_type_}.${rule.id}`, support_app_block: window.SHOPLAZZA.theme.support_app_block }); } } trackQuickShop(data) { window.sa && sa.track && sa.track("plugin_common", { plugin_name: "upsell", event_type: "quick_shop", rule_id: data.rule_id, product_id: data.product_id, show_type: this.show_type_, }); } impressListen(selector, cb) { const el = document.querySelector(selector); const onImpress = (e) => { if (e) { e.stopPropagation(); } cb(); }; if (el && !el.getAttribute('imprsd')) { el.addEventListener('impress', onImpress) } else if (el) { onImpress(); } } } SPZ.defineElement('spz-custom-smart-block', SpzSmartBlockComponent);