Stunahome Men's Handmade Leather Shoes Soft Driving Loafers Sneakers shopify Stunahome.com
Stunahome Men's Handmade Leather Shoes Soft Driving Loafers Sneakers shopify Stunahome.com
Stunahome Men's Handmade Leather Shoes Soft Driving Loafers Sneakers shopify Stunahome.com
Stunahome Men's Handmade Leather Shoes Soft Driving Loafers Sneakers shopify Stunahome.com
Stunahome Men's Handmade Leather Shoes Soft Driving Loafers Sneakers shopify Stunahome.com
Stunahome Men's Handmade Leather Shoes Soft Driving Loafers Sneakers shopify Stunahome.com
Stunahome Men's Handmade Leather Shoes Soft Driving Loafers Sneakers shopify Stunahome.com
Stunahome Men's Handmade Leather Shoes Soft Driving Loafers Sneakers shopify Stunahome.com
Stunahome Men's Handmade Leather Shoes Soft Driving Loafers Sneakers shopify Stunahome.com
Stunahome Men's Handmade Leather Shoes Soft Driving Loafers Sneakers shopify Stunahome.com
Stunahome Men's Handmade Leather Shoes Soft Driving Loafers Sneakers shopify Stunahome.com
Stunahome Men's Handmade Leather Shoes Soft Driving Loafers Sneakers shopify Stunahome.com
Stunahome Men's Handmade Leather Shoes Soft Driving Loafers Sneakers shopify Stunahome.com
Stunahome Men's Handmade Leather Shoes Soft Driving Loafers Sneakers shopify Stunahome.com
Stunahome Men's Handmade Leather Shoes Soft Driving Loafers Sneakers shopify Stunahome.com
Stunahome Men's Handmade Leather Shoes Soft Driving Loafers Sneakers shopify Stunahome.com
Stunahome Men's Handmade Leather Shoes Soft Driving Loafers Sneakers shopify Stunahome.com
Stunahome Men's Handmade Leather Shoes Soft Driving Loafers Sneakers shopify Stunahome.com
Stunahome Men's Handmade Leather Shoes Soft Driving Loafers Sneakers shopify Stunahome.com
Stunahome Men's Handmade Leather Shoes Soft Driving Loafers Sneakers shopify Stunahome.com
Stunahome Men's Handmade Leather Shoes Soft Driving Loafers Sneakers shopify Stunahome.com
Stunahome Men's Handmade Leather Shoes Soft Driving Loafers Sneakers shopify Stunahome.com
Stunahome Men's Handmade Leather Shoes Soft Driving Loafers Sneakers shopify Stunahome.com
Stunahome Men's Handmade Leather Shoes Soft Driving Loafers Sneakers shopify Stunahome.com
Stunahome Men's Handmade Leather Shoes Soft Driving Loafers Sneakers shopify Stunahome.com
Stunahome Men's Handmade Leather Shoes Soft Driving Loafers Sneakers shopify Stunahome.com
Stunahome Men's Handmade Leather Shoes Soft Driving Loafers Sneakers shopify Stunahome.com
Stunahome Men's Handmade Leather Shoes Soft Driving Loafers Sneakers shopify Stunahome.com
Stunahome Men's Handmade Leather Shoes Soft Driving Loafers Sneakers shopify Stunahome.com
Stunahome Men's Handmade Leather Shoes Soft Driving Loafers Sneakers shopify Stunahome.com
Stunahome Men's Handmade Leather Shoes Soft Driving Loafers Sneakers shopify Stunahome.com
Stunahome Men's Handmade Leather Shoes Soft Driving Loafers Sneakers shopify Stunahome.com
Stunahome Men's Handmade Leather Shoes Soft Driving Loafers Sneakers shopify Stunahome.com
Stunahome Men's Handmade Leather Shoes Soft Driving Loafers Sneakers shopify Stunahome.com
Stunahome Men's Handmade Leather Shoes Soft Driving Loafers Sneakers shopify Stunahome.com
Stunahome Men's Handmade Leather Shoes Soft Driving Loafers Sneakers shopify Stunahome.com
Stunahome Men's Handmade Leather Shoes Soft Driving Loafers Sneakers shopify Stunahome.com
Stunahome Men's Handmade Leather Shoes Soft Driving Loafers Sneakers shopify Stunahome.com
Stunahome Men's Handmade Leather Shoes Soft Driving Loafers Sneakers shopify Stunahome.com
Stunahome Men's Handmade Leather Shoes Soft Driving Loafers Sneakers shopify Stunahome.com
Stunahome Men's Handmade Leather Shoes Soft Driving Loafers Sneakers shopify Stunahome.com
Stunahome Men's Handmade Leather Shoes Soft Driving Loafers Sneakers shopify Stunahome.com
Stunahome Men's Handmade Leather Shoes Soft Driving Loafers Sneakers shopify Stunahome.com
Stunahome Men's Handmade Leather Shoes Soft Driving Loafers Sneakers shopify Stunahome.com
Stunahome Men's Handmade Leather Shoes Soft Driving Loafers Sneakers shopify Stunahome.com
Stunahome Men's Handmade Leather Shoes Soft Driving Loafers Sneakers shopify Stunahome.com
Stunahome Men's Handmade Leather Shoes Soft Driving Loafers Sneakers shopify Stunahome.com
Stunahome Men's Handmade Leather Shoes Soft Driving Loafers Sneakers shopify Stunahome.com
Stunahome Men's Handmade Leather Shoes Soft Driving Loafers Sneakers shopify Stunahome.com
Stunahome Men's Handmade Leather Shoes Soft Driving Loafers Sneakers shopify Stunahome.com

Stunahome Men's Handmade Leather Shoes Soft Driving Loafers Sneakers

Customers say this fits true to size
Free return and exchange

size

Please select a size

color - 31132 Black

Please select a color

Price

£114.26 £35.99
46 sold

Quantity

Introducing our Men's Sneakers Driving Shoes - the epitome of style and comfort!

Whether you're out for a night on the town or having a casual day at the office, these shoes are your perfect companion.

Stunahome Men's Handmade Leather Shoes Soft Driving Loafers Sneakers shopify Stunahome.com

FEATURES:

  • Season: Designed for Spring/Autumn, suitable for versatile wear during mild weather.

  • Upper Material: Made from premium artificial leather, providing a sleek and sophisticated look.

  • Closure Type: Lace-up design for a secure and adjustable fit, ensuring optimal comfort.

  • Item Type: Versatile casual shoes, perfect for various occasions and everyday wear.

  • Fashion Element: Seam detailing adds a touch of style to these classic driving shoes.

  • Department Name: Adult, tailored for men's sizes and preferences.

  • Outsole Material: Durable rubber outsole, offering excellent grip and stability.

  • Pattern Type: Solid, creating a timeless and versatile design suitable for any outfit.

  • Occasion: Ideal for casual wear, suitable for multiple settings and activities.

  • Insole Material: Enhanced with EVA cushioning, providing superior comfort throughout the day.

  • Lining Material: PU lining for added comfort and a soft touch against your skin.

MORE ABOUT THE PRODUCT:

  • Quality Material: Crafted with utmost attention to detail, our shoes boast exceptional materials for style, comfort, and flexibility. Perfect for business, formal occasions, and everyday wear, these shoes are your go-to choice.

  • Easy to Match: Our men's shoes feature classic color schemes, effortlessly complementing a wide range of outfits. From shorts to jeans or casual pants, they are perfect for any occasion.

  • Stylish and Trendy: Created by Wally Free, these shoes epitomize your lifestyle, blending comfort, quality, and design. Enjoy a maximum cushioned insole and highly stretchable materials, ensuring you stay stylish and comfortable all day long.

PRODUCT DESCRIPTIONS

SHOE CONSTRUCTION
Pigskin Leather Upper
Rubber Sole
Sewing

SHOE DETAILS
Round Toe
Low heel
Outdoor Leisure
Elastic Band
Color: Black, Gray, Beige, Brown, Green
Suitable for All Season

HOW TO MEASURE

Item Dimensions:
We strongly recommend that you take your measurements before placing an order. Follow the instructions below to measure yourself.

 

PLEASE NOTE

1. Please choose the right size according to your own measurements.
2. The sizes listed are based on the international sizing system. Please refer to the size chart to find the correct size.


DISCLAIMER

Size Information: The size may be 2cm / 1inch inaccuracy due to hand measurement. These measurements are used as a guide in choosing the correct size. Please take your own measurements and choose your size accordingly.
Color Information: The exact color of items may vary based on your monitor, settings, and lighting conditions. Item colors depicted should be used as an approximate guide only.

 

 

FAQs

1. What is the 60 Day Wear Test Guarantee?

We believe 100% in our products. This is why we offer a 60-Day Wear Test Guarantee where you can test the shoes and decide for yourself.

2. Why Should We Take Care Of Our Feet?

The feet are the foundation of the entire human body. They support your body from the ground up.

3. What is the Plantar Fascia?

The plantar fascia muscle is a long band of muscle tissue and ligaments that stretches all the way from your heel bone to the front of your foot. This supports the arch and bone structure of the foot. When inflamed, this causes a variety of issues in the foot such as Plantar Fasciitis, and Heel Pain.

4. Who Should Wear Orthopedic Shoes?

Orthopedic shoes help align a patient's feet and off-load areas of increased stress (like a collapsed arch, an arthritic joint, or a diabetic ulcer or callus).

5. Can normal people wear orthopedic shoes?

People of all ages wear orthopedic shoes. They are also popular among people without foot problems because they are specifically designed to support the foot, ankle, and leg‘s structure and mechanics and strengthen important muscles.

6. What Happens If I Order the Wrong Size?

Don't worry, this happens. Just send your order back and we will ship the correct size to you at no extra cost.

60 Days Money Back Guarantee

We offer a 60-day guarantee to eliminate your foot pain! We fully stand behind our product and believe we have the best product in the industry. We want to give you a full 2 months to try out our product, and if you don't like it 100%, you can contact us and we'll find a solution.

Customer Reviews

Here are what our customers say.

Write a Review
Customer Reviews
Wow you reached the bottom
Newest
Most liked
Highest ratings
Lowest ratings
×
class SpzCustomFileUpload extends SPZ.BaseElement { constructor(element) { super(element); this.uploadCount_ = 0; this.fileList_ = []; } buildCallback() { this.action = SPZServices.actionServiceForDoc(this.element); this.registerAction('upload', (data) => { this.handleFileUpload_(data.event?.detail?.data || []); }); this.registerAction('delete', (data) => { this.handleFileDelete_(data?.args?.data); }); this.registerAction('preview', (data) => { this.handleFilePreview_(data?.args?.data); }); this.registerAction('limit', (data) => { this.handleFileLimit_(); }); this.registerAction('sizeLimit', (data) => { this.handleFileSizeLimit_(); }); } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } setData_(count, file) { this.uploadCount_ = count; this.fileList_ = file; } handleFileUpload_(data) { data.forEach(i => { if(this.fileList_.some(j => j.url === i.url)) return; this.fileList_.push(i); }) this.uploadCount_++; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileUpload", { count: this.uploadCount_, files: this.fileList_}); if(this.fileList_.length >= 5){ document.querySelector('#review_upload').style.display = 'none'; } if(this.fileList_.length > 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '8px'; } } handleFileDelete_(index) { this.fileList_.splice(index, 1); this.uploadCount_--; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileDelete", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; if(this.fileList_?.length === 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '132px'; } } handleFilePreview_(index) { const finalPreviewData = this.fileList_[index]; const filePreviewModal = document.getElementById('filePreviewModal'); const fullScreenVideo = document.getElementById('fullScreenVideo'); const fullScreenImage = document.getElementById('fullScreenImage'); const previewModalClose = document.getElementById('previewModalClose'); const previewLoading = document.getElementById('previewLoading'); filePreviewModal.style.display = 'block'; previewLoading.style.display = 'flex'; if(finalPreviewData?.type === 'video'){ const media = this.mediaParse_(this.fileList_[index]?.url); fullScreenVideo.addEventListener('canplaythrough', function() { previewLoading.style.display = 'none'; }); fullScreenImage.src = ''; fullScreenImage.style.display = 'none'; fullScreenVideo.style.display = 'block'; fullScreenVideo.src = media.mp4 || ''; } else { fullScreenImage.onload = function() { previewLoading.style.display = 'none'; }; fullScreenVideo.src = ''; fullScreenVideo.style.display = 'none'; fullScreenImage.style.display = 'block'; fullScreenImage.src = finalPreviewData.url; } previewModalClose.addEventListener('click', function() { filePreviewModal.style.display = 'none'; }); } handleFileLimit_() { alert(window.AppReviewsLocale.comment_file_limit || 'please do not upload files more than 5'); this.triggerEvent_("handleFileLimit"); } handleFileSizeLimit_() { alert(window.AppReviewsLocale.comment_file_size_limit || 'File size does not exceed 10M'); } clear(){ this.fileList_ = []; this.uploadCount_ = 0; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleClear", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; } mediaParse_(url) { var result = {}; try { url.replace(/[?&]+([^=&]+)=([^&]*)/gi, function (str, key, value) { try { result[key] = decodeURIComponent(value); } catch (e) { result[key] = value; } }); result.preview_image = url.split('?')[0]; } catch (e) {}; return result; } triggerEvent_(name, data) { const event = SPZUtils.Event.create(this.win, name, data); this.action.trigger(this.element, name, event); } } SPZ.defineElement('spz-custom-file-upload', SpzCustomFileUpload);
The review would not show in product details on storefront since it does not support to.
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);