Men's Retro Landscape Embroidery Casual Lapel Short Sleeve Shirt

$33.99
$86.67
-61%
const TAG = "spz-custom-product-automatic"; class SpzCustomProductAutomatic extends SPZ.BaseElement { constructor(element) { super(element); this.variant_id = '64a7b731-855f-468c-88fd-71958f01bc8a'; this.isRTL = SPZ.win.document.dir === 'rtl'; this.isAddingToCart_ = false; // 加购中状态 } static deferredMount() { return false; } buildCallback() { this.action_ = SPZServices.actionServiceForDoc(this.element); this.templates_ = SPZServices.templatesForDoc(this.element); this.xhr_ = SPZServices.xhrFor(this.win); this.setupAction_(); this.viewport_ = this.getViewport(); } mountCallback() { this.init(); // 监听事件 this.bindEvent_(); } async init() { this.handleFitTheme(); const data = await this.getDiscountList(); this.renderApiData_(data); } async getDiscountList() { const productId = '0e69c7d7-64a2-4b11-bafc-df3e94acfab1'; const variantId = this.variant_id; const productType = 'default'; const reqBody = { product_id: productId, variant_id: variantId, discount_method: "DM_AUTOMATIC", customer: { customer_id: window.C_SETTINGS.customer.customer_id, email: window.C_SETTINGS.customer.customer_email }, product_type: productType } const url = `/api/storefront/promotion/display_setting/text/list`; const data = await this.xhr_.fetchJson(url, { method: "post", body: reqBody }).then(res => { return res; }).catch(err => { this.setContainerDisabled(false); }) return data; } async renderDiscountList() { this.setContainerDisabled(true); const data = await this.getDiscountList(); this.setContainerDisabled(false); // 重新渲染 抖动问题处理 this.renderApiData_(data); } clearDom() { const children = this.element.querySelector('*:not(template)'); children && SPZCore.Dom.removeElement(children); } async renderApiData_(data) { const parentDiv = document.querySelector('.automatic_discount_container'); const newTplDom = await this.getRenderTemplate(data); if (parentDiv) { parentDiv.innerHTML = ''; parentDiv.appendChild(newTplDom); } else { console.log('automatic_discount_container is null'); } } doRender_(data) { const renderData = data || {}; return this.templates_ .findAndRenderTemplate(this.element, renderData) .then((el) => { this.clearDom(); this.element.appendChild(el); }); } async getRenderTemplate(data) { const renderData = data || {}; return this.templates_ .findAndRenderTemplate(this.element, { ...renderData, isRTL: this.isRTL }) .then((el) => { this.clearDom(); return el; }); } setContainerDisabled(isDisable) { const automaticDiscountEl = document.querySelector('.automatic_discount_container_outer'); if(isDisable) { automaticDiscountEl.setAttribute('disabled', ''); } else { automaticDiscountEl.removeAttribute('disabled'); } } // 绑定事件 bindEvent_() { window.addEventListener('click', (e) => { let containerNodes = document.querySelectorAll(".automatic-container .panel"); let bool; Array.from(containerNodes).forEach((node) => { if(node.contains(e.target)){ bool = true; } }) // 是否popover面板点击范围 if (bool) { return; } if(e.target.classList.contains('drowdown-icon') || e.target.parentNode.classList.contains('drowdown-icon')){ return; } const nodes = document.querySelectorAll('.automatic-container'); Array.from(nodes).forEach((node) => { node.classList.remove('open-dropdown'); }) // 兼容主题 this.toggleProductSticky(true); }) // 监听变体变化 document.addEventListener('dj.variantChange', async(event) => { // 重新渲染 const variant = event.detail.selected; if (variant.product_id == '0e69c7d7-64a2-4b11-bafc-df3e94acfab1' && variant.id != this.variant_id) { this.variant_id = variant.id; this.renderDiscountList(); } }); } // 兼容主题 handleFitTheme() { // top 属性影响抖动 let productInfoEl = null; if (window.SHOPLAZZA.theme.merchant_theme_name === 'Wind' || window.SHOPLAZZA.theme.merchant_theme_name === 'Flash') { productInfoEl = document.querySelector('.product-info-body .product-sticky-container'); } else if (window.SHOPLAZZA.theme.merchant_theme_name === 'Hero') { productInfoEl = document.querySelector('.product__info-wrapper .properties-content'); } if(productInfoEl){ productInfoEl.classList.add('force-top-auto'); } } // 兼容 wind/flash /hero 主题 (sticky属性影响 popover 层级展示, 会被其他元素覆盖) toggleProductSticky(isSticky) { let productInfoEl = null; if (window.SHOPLAZZA.theme.merchant_theme_name === 'Wind' || window.SHOPLAZZA.theme.merchant_theme_name === 'Flash') { productInfoEl = document.querySelector('.product-info-body .product-sticky-container'); } else if (window.SHOPLAZZA.theme.merchant_theme_name === 'Hero') { productInfoEl = document.querySelector('.product__info-wrapper .properties-content'); } if(productInfoEl){ if(isSticky) { // 还原该主题原有的sticky属性值 productInfoEl.classList.remove('force-position-static'); return; } productInfoEl.classList.toggle('force-position-static'); } } setupAction_() { this.registerAction('handleDropdown', (invocation) => { const discount_id = invocation.args.discount_id; const nodes = document.querySelectorAll('.automatic-container'); Array.from(nodes).forEach((node) => { if(node.getAttribute('id') != `automatic-${discount_id}`) { node.classList.remove('open-dropdown'); } }) const $discount_item = document.querySelector(`#automatic-${discount_id}`); $discount_item && $discount_item.classList.toggle('open-dropdown'); // 兼容主题 this.toggleProductSticky(); }); // 加购事件 this.registerAction('handleAddToCart', (invocation) => { // 阻止事件冒泡 const event = invocation.event; if (event) { event.stopPropagation(); event.preventDefault(); } // 如果正在加购中,直接返回 if (this.isAddingToCart_) { return; } const quantity = invocation.args.quantity || 1; this.addToCart(quantity); }); } // 加购方法 async addToCart(quantity) { // 设置加购中状态 this.isAddingToCart_ = true; const productId = '0e69c7d7-64a2-4b11-bafc-df3e94acfab1'; const variantId = this.variant_id; const url = '/api/cart'; const reqBody = { product_id: productId, variant_id: variantId, quantity: quantity }; try { const data = await this.xhr_.fetchJson(url, { method: 'POST', body: reqBody }); // 触发加购成功提示 this.triggerAddToCartToast_(); return data; } catch (error) { error.then(err=>{ this.showToast_(err?.message || err?.errors?.[0] || 'Unknown error'); }) } finally { // 无论成功失败,都重置加购状态 this.isAddingToCart_ = false; } } showToast_(message) { const toastEl = document.querySelector("#apps-match-drawer-add_to_cart_toast"); if (toastEl) { SPZ.whenApiDefined(toastEl).then((apis) => { apis.showToast(message); }); } } // 触发加购成功提示 triggerAddToCartToast_() { // 如果主题有自己的加购提示,则不显示 const themeAddToCartToastEl = document.querySelector('#add-cart-event-proxy'); if (themeAddToCartToastEl) return; // 显示应用的加购成功提示 this.showToast_("Added successfully"); } triggerEvent_(name, data) { const event = SPZUtils.Event.create(this.win, `${ TAG }.${ name }`, data || {}); this.action_.trigger(this.element, name, event); } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } } SPZ.defineElement(TAG, SpzCustomProductAutomatic);
class SpzCustomDiscountBundle extends SPZ.BaseElement { constructor(element) { super(element); } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } mountCallback() { // 同一页可能有多个 block 各自渲染本 snippet,导致逻辑元素 spz-custom-discount-toast(#appsAddCartToastFunc) 重复。 // 仅保留 DOM 中第一个实例,其余重复实例移除自身,保证逻辑元素及其 action 引用(appsAddCartToastFunc)唯一。 const funcs = document.querySelectorAll('#appsAddCartToastFunc'); if (funcs.length > 1 && this.element !== funcs[0]) { this.element.remove(); return; } // 全局折扣 toast 的弹出点分散在多个模板/组件里(含声明式 @atcError),无法逐一在弹出前前置, // 故挂载时幂等地去重并挂到 body;加购 toast 改为弹出前按需去重(见 showAddToCartToast) this.ensureSingleToastInBody_('cart_match_discount_toast_wrap'); } unmountCallback() {} // 同一页面可能有多个 block 各自渲染本 toast snippet(如商详的 discount_automatic + 购物车抽屉里的折扣横幅), // 导致 toast 外层出现重复 id。重复 id 下 getElementById/querySelector 及 SPZ 动作引用都只命中第一个, // 且被关进抽屉的那份会被抽屉的 transform/overflow 裁剪/错位。这里在挂载时幂等去重: // 只保留一份、移除多余的,并把保留的挂到 body(body 是 position:fixed 最安全的落点,避免被任何祖先裁剪)。可反复调用。 ensureSingleToastInBody_(id) { const els = Array.from(document.querySelectorAll('#' + id)); if (!els.length) return; els.slice(1).forEach((el) => el.remove()); const keep = els[0]; if (keep.parentNode !== document.body) { document.body.appendChild(keep); } } // 主题购物车抽屉是否打开 isInCartDrawer_() { return !!document.querySelector('[data-section-type="cart_drawer"] spz-sidebar[open]'); } setupAction_() { this.registerAction('showAddToCartToast', () => { // 抽屉内加购:主题本就不会有加购效果,统一弹插件自己的 toast // 非抽屉:主题有加购代理则沿用主题加购效果,否则插件兜底 const proxyEl = document.getElementById('add-cart-event-proxy'); const inDrawer = this.isInCartDrawer_(); if (!inDrawer && proxyEl) { return; } // 弹出前按需去重并挂到 body(幂等),避免重复 id 命中错对象或被抽屉裁剪/错位 this.ensureSingleToastInBody_('apps_add_cart_toast_wrap'); const toastEl = document.querySelector('#apps-match-drawer-add_to_cart_toast') SPZ.whenApiDefined(toastEl).then((apis) => { apis.showToast("Added successfully"); }); }); } buildCallback() { this.setupAction_(); }; } SPZ.defineElement('spz-custom-discount-toast', SpzCustomDiscountBundle);
Color- Grey
Size- S
Quantity
Shipping
Estimated Delivery:Aug-17 - Aug-18
🌾🕊️ Linen & Legacy

Enduring Menswear · Linen & Cotton Est. 2003

Thoughtfully designed menswear that blends timeless style, lasting comfort, and responsible craftsmanship.

🌿 We use Oeko-Tex® certified, toxin-free linen and Premium American-grown Cotton® — sourcing only the finest natural fibers. Every garment is made-to-order in our studio, meticulously cut and sewn by an experienced team with over 20 years of sewing expertise. The result: clean lines, precise construction, and materials that stand the test of time.

✨ We believe men's clothing should be built to last. Our collection is designed for everyday wear, mindful consumption, and a wardrobe curated with intention — not excess.

♻️ Toxin-Free 🧵 Made-to-Order 🍃 20+ Years Expertise 🕊️ Built to Last

Our Take on Slow Fashion

In a world of instant shopping, true style requires a more deliberate approach. For us, slow fashion begins with understanding what you truly need — building a wardrobe of pieces that earn their place season after season.

This philosophy drives everything we do. We design and handcraft linen and cotton menswear intended for long-term wear. Instead of mass production, we follow a made-to-order model — creating only what is needed. This approach reduces overproduction, minimizes waste, and honors the materials and hands that bring each piece to life.

While trends come and go, our focus remains the same: durability, quality materials, and thoughtful construction. Over time, our linen softens, our cottons become familiar, and each garment becomes a natural part of your daily life — without the need for constant replacement.

🌱 “We create for longevity, not fleeting seasons. Menswear that earns its place.”

Fabrics That Define Comfort

🌾

Premium Linen · Breathable & Refined

Our linen is Oeko-Tex® certified, free from harmful substances, and ideal for sensitive skin. With a natural ability to wick moisture and regulate temperature, it keeps you cool in summer and comfortable year-round. Each wash adds softness without compromising strength — making it perfect for relaxed shirts, tailored trousers, and lightweight jackets.

🌾 100% European Linen 💧 Moisture-Wicking 🦠 Naturally Antibacterial
🇺🇸

Premium American-grown Cotton®

Our tees, tanks, and long-sleeve shirts are crafted from Premium American-grown Cotton® — prized for its long-staple fibers, exceptional softness, and remarkable durability. The high-density weave holds its shape wash after wash, while the breathable feel makes it a go-to for everyday layering.

✓ Superior softness & strength
✓ Gentle on skin · Ideal for sensitive types
✓ Responsibly sourced · Traceable supply chain

🧵 Two Decades of Sewing Mastery

Every seam, stitch, and finish is handled by our experienced team — together bringing over 20 years of sewing expertise. From precision cutting to careful pressing, we treat each garment with the respect it deserves. This is menswear built by craftspeople who understand structure, fit, and longevity.

✂️ Made-to-Order · Zero Waste Ethos

We craft each piece only after you place your order. This made-to-order model eliminates overproduction, reduces fabric waste, and ensures every yard of toxin-free linen and cotton is used with purpose. A slower, more responsible way of making clothes — and a better investment for your wardrobe.

“True luxury is linen that grows softer with time — and a garment that carries your story.”

❤️ Fashion with Heart

Proud Partner of Dress for Success

We believe that looking good is even better when it does good. That's why we proudly support Dress for Success, a global nonprofit empowering women and gender-diverse individuals to achieve economic independence through career development and professional attire.

Our commitment goes beyond words. Through regular clothing donations and dedicated campaigns, we help raise crucial funds to transform lives. For every qualifying item sold in the U.S., we donate $20 to Dress for Success.

💞 When you shop with us, you're not just investing in timeless menswear — you're helping another person build confidence, find employment, and step into their future.

👔 $20 per item donated 🤝 Ongoing clothing donations ✨ Empowering careers
👔✨
Dress for Success
Global nonprofit organization
“Helping women achieve economic independence”
You Shop · We Donate

🌾 Linen That Lives With You

Our linen is Oeko-Tex® Standard 100 certified — completely free from harmful chemicals and safe for even the most sensitive skin. Over time, the fibers relax and soften, creating a garment that feels uniquely yours. From relaxed shirts to tailored trousers, each piece offers quiet elegance and everyday resilience.

✅ Moisture-wicking · ✅ Naturally antibacterial · ✅ Biodegradable

🔖 Build a Wardrobe With Intention

We stand for “fewer, better things.” A well-cut linen shirt, a pair of tailored cotton trousers — these are the anchors of a timeless closet. By choosing quality over quantity, you reduce waste and develop a more meaningful relationship with what you wear.

💡 Ask yourself: “Will I wear this for years to come?” That question sits at the heart of everything we create.

🕊️

Wear With Ease, Choose With Responsibility

Since 2003, our commitment remains unchanged: durable, thoughtfully crafted linen and cotton menswear made to accompany your journey. Join us in embracing slow fashion that feels as good as it looks — for North America, Europe, and beyond.

made-to-order toxin-free linen timeless design

© 2003–2026 · Wrenoin · Every piece made for the long run
We believe your clothes should become part of your story — soft, resilient, and always with you.

🌍 Supporting sustainable fashion · Mindful consumption · Cherished for years · Worldwide shipping

Description

SPU: DZ-225260-LLQ

Fabric Name: 95% Cotton-5% Nylon

Pattern: Landscape Embroidery

Process: Embroidered

Style: Vintage

Length: Regular

Collar: Stand Collar

Popular Elements: Landscape Embroidery

Sleeve Type: Short Sleeve

Occasion: Daily

Theme: Summer

NOTE: If you are not sure, please choose a larger size. If you have any doubts about this product, we suggest you contact our customer service team. Due to the color difference between the screens of different electronic devices (computers, mobile phones or ipads), especially the CRT screen and the LCD screen, the color of the item may be slightly different from what you see in the photos, please take the actual product as the standard.

Size Shoulder Bust Top Length Sleeve
cm inch cm inch cm inch cm inch
S 45 17.6 106 41.3 73 28.5 23 9.0
M 47 18.3 112 43.7 75 29.3 23 9.0
L 49 19.1 118 46.0 77 30.0 24 9.4
XL 51 19.9 124 48.4 79 30.8 24 9.4
2XL 53 20.7 130 50.7 81 31.6 25 9.8
3XL 55 21.5 136 53.0 83 32.4 25 9.8
4XL 57 22.2 142 55.4 85 33.2 26 10.1
5XL 59 23.0 148 57.7 87 33.9 26 10.1
Due to manual measurement, there may be an error of 1-3cm

You may also like