School Shoes for Women: Nicepairs offers a stylish and practical range of school shoes for teenage girls and older students. Whether you're heading to class or navigating the hallways, these shoes combine comfort with smart style. From classic Mary Jane shoes to loafers and leather flats, Nicepairs has you covered for those long school days

School

363 Products
Filter
  • Reset
  • The highest price is 199
    $
    $
  • 0 selected
    Reset
  • 0 selected
    Reset
  • 0 selected
    Reset
  • 0 selected
    Reset
Filter
  • Price
  • Color
  • Platform
  • Heel Type
  • Season
    Price
  • The highest price is 199
    $
    $
    Color
    Platform
    Heel Type
    Season
Fuchsia Faux Suede Pointed Toe Ankle Boots Kitten Heel Booties Nicepairs Fuchsia Faux Suede Pointed Toe Ankle Boots Kitten Heel Booties Nicepairs

Fuchsia Faux Suede Pointed Toe Ankle Boots Kitten Heel Booties

$122.00
Add to cart
Classic Genuine Leather Pointed Toe Flats For Women Nicepairs Classic Genuine Leather Pointed Toe Flats For Women Nicepairs

Classic Genuine Leather Pointed Toe Flats For Women

$120.00
Add to cart
Blue Pointed Toe Zipper Ankle Boots Decorative Heel Booties for Women Nicepairs Blue Pointed Toe Zipper Ankle Boots Decorative Heel Booties for Women Nicepairs

Blue Pointed Toe Zipper Ankle Boots Decorative Heel Booties for Women

$122.00
Add to cart
Black & White Colorblock Round Toe Vintage Women's Oxfords Nicepairs Black & White Colorblock Round Toe Vintage Women's Oxfords Nicepairs

Black & White Colorblock Round Toe Vintage Women's Oxfords

$100.00
Add to cart
Silver Glitter Pointy Toe Rhinestone Knee High Boots with Chunky Heel Nicepairs Silver Glitter Pointy Toe Rhinestone Knee High Boots with Chunky Heel Nicepairs

Silver Glitter Pointy Toe Rhinestone Knee High Boots with Chunky Heel

$199.00
Add to cart
Women's Cut Out Leather Pointed Toe Flats Nicepairs Women's Cut Out Leather Pointed Toe Flats Nicepairs

Women's Cut Out Leather Pointed Toe Flats

$125.00
Add to cart
Dark Green Vegan Suede Sewed Knee Lace Up Boots with Block Heels Nicepairs Dark Green Vegan Suede Sewed Knee Lace Up Boots with Block Heels Nicepairs

Dark Green Vegan Suede Sewed Knee Lace Up Boots with Block Heels

$160.00
Add to cart
Comfy Pointed Toe Low Heel Leather Shoes for Women Nicepairs Comfy Pointed Toe Low Heel Leather Shoes for Women Nicepairs

Comfy Pointed Toe Low Heel Leather Shoes for Women

$120.00
Add to cart
Women's Peep Toe Booties Buckle Cut Out Block Heel Ankle Boots Nicepairs Women's Peep Toe Booties Buckle Cut Out Block Heel Ankle Boots Nicepairs

Women's Peep Toe Booties Buckle Cut Out Block Heel Ankle Boots

$116.00
Add to cart
Brown Lace Up Suede Boots Zipper Block Heels Nicepairs Brown Lace Up Suede Boots Zipper Block Heels Nicepairs

Brown Lace Up Suede Boots Zipper Block Heels

$160.00
Add to cart
Brown Oxford Shoes Handmade Shoes Casual Shoes For Women Nicepairs Brown Oxford Shoes Handmade Shoes Casual Shoes For Women Nicepairs

Brown Oxford Shoes Handmade Shoes Casual Shoes For Women

$134.00
Add to cart
Vintage Slip-on Leather Chunky Loafers for Women Nicepairs Vintage Slip-on Leather Chunky Loafers for Women Nicepairs

Vintage Slip-on Leather Chunky Loafers for Women

$128.00
Add to cart
Golden Classic Pointed Toe Kitten Heel Ankle Boots Nicepairs Golden Classic Pointed Toe Kitten Heel Ankle Boots Nicepairs

Golden Classic Pointed Toe Kitten Heel Ankle Boots

$122.00
Add to cart
Purple Pointed Toe Zipper Ankle Boots Decorative Heels Nicepairs Purple Pointed Toe Zipper Ankle Boots Decorative Heels Nicepairs

Purple Pointed Toe Zipper Ankle Boots Decorative Heels

$122.00
Add to cart
Yellow Faux Fur Boots Pointed Toe Stiletto Heel Booties for Women Nicepairs

Yellow Faux Fur Boots Pointed Toe Stiletto Heel Booties for Women

$128.00
Add to cart
White Lace Open Toe Boots Hallow Flower Pear Bow Decor Wedding Boots Nicepairs White Lace Open Toe Boots Hallow Flower Pear Bow Decor Wedding Boots Nicepairs

White Lace Open Toe Boots Hallow Flower Pear Bow Decor Wedding Boots

$120.00
Add to cart
Multicolor Crystal & Polka Dot Decor Round Toe Flat Loafers Nicepairs Multicolor Crystal & Polka Dot Decor Round Toe Flat Loafers Nicepairs

Multicolor Crystal & Polka Dot Decor Round Toe Flat Loafers

$124.00
Add to cart
Full Black Pointed Toe Kitten Heel Ankle Boots Patent Leather Short Boots Nicepairs Full Black Pointed Toe Kitten Heel Ankle Boots Patent Leather Short Boots Nicepairs

Full Black Pointed Toe Kitten Heel Ankle Boots Patent Leather Short Boots

$122.00
Add to cart
Classic Black Round Toe Shoes Knee High Wedge Boots with Zipper Nicepairs Classic Black Round Toe Shoes Knee High Wedge Boots with Zipper Nicepairs

Classic Black Round Toe Shoes Knee High Wedge Boots with Zipper

$139.00
Add to cart
Pointed Toe Suede Short Boots Ankle Strap Slingback Short Boots Nicepairs Pointed Toe Suede Short Boots Ankle Strap Slingback Short Boots Nicepairs

Pointed Toe Suede Short Boots Ankle Strap Slingback Short Boots

$122.00
Add to cart
Black Patent Leather Almond Toe Chunky Heel Loafers with Buckle Nicepairs Black Patent Leather Almond Toe Chunky Heel Loafers with Buckle Nicepairs

Black Patent Leather Almond Toe Chunky Heel Loafers with Buckle

$103.64
Add to cart
Full Black  Pointed Toe Zipper Flat Ankle Boots Nicepairs Full Black  Pointed Toe Zipper Flat Ankle Boots Nicepairs

Full Black Pointed Toe Zipper Flat Ankle Boots

$120.00
Add to cart
Full Black Patent Leatehr Oxford Shoes Low Chunky Minimalist Oxfords Nicepairs Full Black Patent Leatehr Oxford Shoes Low Chunky Minimalist Oxfords Nicepairs

Full Black Patent Leatehr Oxford Shoes Low Chunky Minimalist Oxfords

$120.00
Add to cart
Gray Plaid Pointed Toe Chunky Heel Ankle Strap Pumps for Office Nicepairs Gray Plaid Pointed Toe Chunky Heel Ankle Strap Pumps for Office Nicepairs

Gray Plaid Pointed Toe Chunky Heel Ankle Strap Pumps for Office

$111.00
Add to cart
Burgundy Suede Almond Toe Block Heel Ankle Strap Sandals with Platform Nicepairs Burgundy Suede Almond Toe Block Heel Ankle Strap Sandals with Platform Nicepairs

Burgundy Suede Almond Toe Block Heel Ankle Strap Sandals with Platform

$106.00
Add to cart
Full Green Pointed Toe Suede Over the Knee Boots Low Chunky Lace Up Boots Nicepairs Full Green Pointed Toe Suede Over the Knee Boots Low Chunky Lace Up Boots Nicepairs

Full Green Pointed Toe Suede Over the Knee Boots Low Chunky Lace Up Boots

$138.00
Add to cart
Black Patent Leather Closed Toe Chunky Heel Loafer Shoes Nicepairs Black Patent Leather Closed Toe Chunky Heel Loafer Shoes Nicepairs

Black Patent Leather Closed Toe Chunky Heel Loafer Shoes

$109.00
Add to cart
Gold Patent Leather Pointed Toe Chunky Heel Mules with Platform Nicepairs Gold Patent Leather Pointed Toe Chunky Heel Mules with Platform Nicepairs

Gold Patent Leather Pointed Toe Chunky Heel Mules with Platform

$109.00
Add to cart
Brown Faux Suede Almond Toe 4'' Chunky Heel Platform Sandals with Buckle Nicepairs Brown Faux Suede Almond Toe 4'' Chunky Heel Platform Sandals with Buckle Nicepairs

Brown Faux Suede Almond Toe 4'' Chunky Heel Platform Sandals with Buckle

$106.00
Add to cart
Black Stud Pointed Toe Kitten Heel Slingbacks for Office Nicepairs Black Stud Pointed Toe Kitten Heel Slingbacks for Office Nicepairs

Black Stud Pointed Toe Kitten Heel Slingbacks for Office

$125.00
Add to cart
Full White Pointed Toe Chunky Heel Pearl Decor Knee High Boots Nicepairs Full White Pointed Toe Chunky Heel Pearl Decor Knee High Boots Nicepairs

Full White Pointed Toe Chunky Heel Pearl Decor Knee High Boots

$190.00
Add to cart
Light Purple Vegan Leather Round Toe Chunky Heel Ankle Strap Pumps  Nicepairs Light Purple Vegan Leather Round Toe Chunky Heel Ankle Strap Pumps  Nicepairs

Light Purple Vegan Leather Round Toe Chunky Heel Ankle Strap Pumps

$136.56
Add to cart
Black & White Stilettos Faux Fur Mid Calf Boots with Bagua Pattern Nicepairs Black & White Stilettos Faux Fur Mid Calf Boots with Bagua Pattern Nicepairs

Black & White Stilettos Faux Fur Mid Calf Boots with Bagua Pattern

$133.80
Add to cart
Silver Glitter Pointed Toe Comma Heel Knee High Boots Nicepairs Silver Glitter Pointed Toe Comma Heel Knee High Boots Nicepairs

Silver Glitter Pointed Toe Comma Heel Knee High Boots

$180.00
Add to cart
Brown Vegan Suede Pointed Toe Stiletto Heel Mules with Pom Decor Nicepairs Brown Vegan Suede Pointed Toe Stiletto Heel Mules with Pom Decor Nicepairs

Brown Vegan Suede Pointed Toe Stiletto Heel Mules with Pom Decor

$112.00
Add to cart
Blue Knee Boots Pointed Close Toe Cone Heel Knee Boots Nicepairs Blue Knee Boots Pointed Close Toe Cone Heel Knee Boots Nicepairs

Blue Knee Boots Pointed Close Toe Cone Heel Knee Boots

$138.00
Add to cart
Full Color Suede Pointed Toe Boots Bow Knot Decor Ankle Boots Nicepairs Full Color Suede Pointed Toe Boots Bow Knot Decor Ankle Boots Nicepairs

Full Color Suede Pointed Toe Boots Bow Knot Decor Ankle Boots

$128.00
Add to cart
Black Leather Pointed Toe Kitten Heel Pumps with Rhinestone Buckle Nicepairs Black Leather Pointed Toe Kitten Heel Pumps with Rhinestone Buckle Nicepairs

Black Leather Pointed Toe Kitten Heel Pumps with Rhinestone Buckle

$135.00
Add to cart
White Patent Leather Flats With Gold Chain Decor For Women Nicepairs White Patent Leather Flats With Gold Chain Decor For Women Nicepairs

White Patent Leather Flats With Gold Chain Decor For Women

$115.00
Add to cart
Black Leather Round Toe Low Chunky Heel Loafers with Rhinetone Nicepairs Black Leather Round Toe Low Chunky Heel Loafers with Rhinetone Nicepairs

Black Leather Round Toe Low Chunky Heel Loafers with Rhinetone

$113.99
Add to cart
Black Vegan Suede Block Heel Mid-Calf Faux Fur Boots Nicepairs Black Vegan Suede Block Heel Mid-Calf Faux Fur Boots Nicepairs

Black Vegan Suede Block Heel Mid-Calf Faux Fur Boots

$139.99
Add to cart
Light Pink Pointed Toe Sock Boots Satin Decorative Heel Strappy Calf Boots Nicepairs Light Pink Pointed Toe Sock Boots Satin Decorative Heel Strappy Calf Boots Nicepairs

Light Pink Pointed Toe Sock Boots Satin Decorative Heel Strappy Calf Boots

$125.00
Add to cart
White & Black Dot Open Toe 4'' Chunky Heel Ankle Strap Sandals Nicepairs White & Black Dot Open Toe 4'' Chunky Heel Ankle Strap Sandals Nicepairs

White & Black Dot Open Toe 4'' Chunky Heel Ankle Strap Sandals

$115.00
Add to cart
Black White Zebra Ankle Boots Pointed Toe Stiletto Heel Boots Nicepairs Black White Zebra Ankle Boots Pointed Toe Stiletto Heel Boots Nicepairs

Black White Zebra Ankle Boots Pointed Toe Stiletto Heel Boots

$125.00
Add to cart
Black Suede Pointed Toe Stiletto Heel Pumps with Glitter Bow Nicepairs Black Suede Pointed Toe Stiletto Heel Pumps with Glitter Bow Nicepairs

Black Suede Pointed Toe Stiletto Heel Pumps with Glitter Bow

$116.00
Add to cart
Clear Pointed Toe Pumps Black Fishnet Socks Boots Rhinestone Decor Nicepairs Clear Pointed Toe Pumps Black Fishnet Socks Boots Rhinestone Decor Nicepairs

Clear Pointed Toe Pumps Black Fishnet Socks Boots Rhinestone Decor

$125.00
Add to cart
Black Rhinestone Snake Mid-Calf Fold Over Boots with Stiletto Heel Nicepairs Black Rhinestone Snake Mid-Calf Fold Over Boots with Stiletto Heel Nicepairs

Black Rhinestone Snake Mid-Calf Fold Over Boots with Stiletto Heel

$125.00
Add to cart
Black Patent Leather Flats With Gold Chain Decor For Women Nicepairs Black Patent Leather Flats With Gold Chain Decor For Women Nicepairs

Black Patent Leather Flats With Gold Chain Decor For Women

$109.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);