Suitmens Men's Cotton Linen Jazz Note Stand Collar Long Sleeve Shirt 058
Sku : JW2308081712-White-M
${function(){
const variantData = data.variant || {"id":"ea3d4d8b-cde7-4f81-a1cc-7f40f3c2c652","product_id":"52602bae-a56a-4ba5-a900-f814719764cf","title":"White-M","weight_unit":"kg","inventory_quantity":0,"sku":"JW2308081712-White-M","barcode":"","position":1,"option1":"White","option2":"M","option3":"","note":"","image":{"src":"\/\/img.staticdj.com\/20e69cf338fbbd1affd1c5cd799ef469.png","path":"20e69cf338fbbd1affd1c5cd799ef469.png","width":530,"height":663,"alt":"","aspect_ratio":0.799396681749623},"wholesale_price":[{"price":28.95,"min_quantity":1}],"weight":"0.32","compare_at_price":"0","price":"28.95","retail_price":"0","available":true,"url":"\/products\/suitmens-mens-cotton-linen-jazz-note-stand-collar-long-sleeve-shirt-058?variant=ea3d4d8b-cde7-4f81-a1cc-7f40f3c2c652","available_quantity":999999999,"options":[{"name":"Color","value":"White"},{"name":"Size","value":"M"}],"off_ratio":0,"flashsale_info":[],"sales":8};
return `
Sku : ${variantData && variantData.sku}
Barcode : ${variantData && variantData.barcode}
`
}()}
${function() {
const variantData = data.variant || {"id":"ea3d4d8b-cde7-4f81-a1cc-7f40f3c2c652","product_id":"52602bae-a56a-4ba5-a900-f814719764cf","title":"White-M","weight_unit":"kg","inventory_quantity":0,"sku":"JW2308081712-White-M","barcode":"","position":1,"option1":"White","option2":"M","option3":"","note":"","image":{"src":"\/\/img.staticdj.com\/20e69cf338fbbd1affd1c5cd799ef469.png","path":"20e69cf338fbbd1affd1c5cd799ef469.png","width":530,"height":663,"alt":"","aspect_ratio":0.799396681749623},"wholesale_price":[{"price":28.95,"min_quantity":1}],"weight":"0.32","compare_at_price":"0","price":"28.95","retail_price":"0","available":true,"url":"\/products\/suitmens-mens-cotton-linen-jazz-note-stand-collar-long-sleeve-shirt-058?variant=ea3d4d8b-cde7-4f81-a1cc-7f40f3c2c652","available_quantity":999999999,"options":[{"name":"Color","value":"White"},{"name":"Size","value":"M"}],"off_ratio":0,"flashsale_info":[],"sales":8};
const saveType = "percentage";
const productLabelDiscountOn = true;
return `
-
${saveType == 'percentage'
? `-${variantData.off_ratio}%`
: `-`
}
`;
}()}
100% Money Back Guarantee. Order >> 5-10 days to processing. Delivery>> 10-15 days to arrive
people are viewing this right now
${function(){
const tipText = "Please select a {{ name }}".replace(/\{\{\s+name\s+\}\}/g, data);
return `${tipText}
`
}()}
${function(){
const tipText = "Please select a {{ name }}".replace(/\{\{\s+name\s+\}\}/g, data);
return `${tipText}
`
}()}
Product was out of stock.
Product is unavailable.
/** @private {string} */
class SpzCustomAnchorScroll extends SPZ.BaseElement {
static deferredMount() {
return false;
}
constructor(element) {
super(element);
/** @private {Element} */
this.scrollableContainer_ = null;
}
isLayoutSupported(layout) {
return layout == SPZCore.Layout.LOGIC;
}
buildCallback() {
this.viewport_ = this.getViewport();
this.initActions_();
}
setTarget(containerId, targetId) {
this.containerId = '#' + containerId;
this.targetId = '#' + targetId;
}
scrollToTarget() {
const container = document.querySelector(this.containerId);
const target = container.querySelector(this.targetId);
const {scrollTop} = container;
const eleOffsetTop = this.getOffsetTop_(target, container);
this.viewport_
.interpolateScrollIntoView_(
container,
scrollTop,
scrollTop + eleOffsetTop
);
}
initActions_() {
this.registerAction(
'scrollToTarget',
(invocation) => this.scrollToTarget(invocation?.caller)
);
this.registerAction(
'setTarget',
(invocation) => this.setTarget(invocation?.args?.containerId, invocation?.args?.targetId)
);
}
/**
* @param {Element} element
* @param {Element} container
* @return {number}
* @private
*/
getOffsetTop_(element, container) {
if (!element./*OK*/ getClientRects().length) {
return 0;
}
const rect = element./*OK*/ getBoundingClientRect();
if (rect.width || rect.height) {
return rect.top - container./*OK*/ getBoundingClientRect().top;
}
return rect.top;
}
}
SPZ.defineElement('spz-custom-anchor-scroll', SpzCustomAnchorScroll);
const STRENGTHEN_TRUST_URL = "/api/strengthen_trust/settings";
class SpzCustomStrengthenTrust extends SPZ.BaseElement {
constructor(element) {
super(element);
this.renderElement_ = null;
}
isLayoutSupported(layout) {
return layout == SPZCore.Layout.CONTAINER;
}
buildCallback() {
this.xhr_ = SPZServices.xhrFor(this.win);
const renderId = this.element.getAttribute('render-id');
SPZCore.Dom.waitForChild(
document.body,
() => !!document.getElementById(renderId),
() => {
this.renderElement_ = SPZCore.Dom.scopedQuerySelector(
document.body,
`#${renderId}`
);
if (this.renderElement_) {
this.render_();
}
this.registerAction('track', (invocation) => {
this.track_(invocation.args);
});
}
);
}
render_() {
this.fetchData_().then((data) => {
if (!data) {
return;
}
SPZ.whenApiDefined(this.renderElement_).then((apis) => {
apis?.render(data);
document.querySelector('#strengthen-trust-render-1539149753700').addEventListener('click',(event)=>{
if(event.target.nodeName == 'A'){
this.track_({type: 'trust_content_click'});
}
})
});
});
}
track_(data = {}) {
const track = window.sa && window.sa.track;
if (!track) {
return;
}
track('trust_enhancement_event', data);
}
parseJSON_(string) {
let result = {};
try {
result = JSON.parse(string);
} catch (e) {}
return result;
}
fetchData_() {
return this.xhr_
.fetchJson(STRENGTHEN_TRUST_URL)
.then((responseData) => {
if (!responseData || !responseData.data) {
return null;
}
const data = responseData.data;
const moduleSettings = (data.module_settings || []).reduce((result, moduleSetting) => {
return result.concat(Object.assign(moduleSetting, {
logos: (moduleSetting.logos || []).map((item) => {
return moduleSetting.logos_type == 'custom' ? this.parseJSON_(item) : item;
})
}));
}, []);
return Object.assign(data, {
module_settings: moduleSettings,
isEditor: window.self !== window.top,
});
});
}
}
SPZ.defineElement('spz-custom-strengthen-trust', SpzCustomStrengthenTrust);
${data.module_title}
To display this card to customers, you need to go to "Booster & Store Conversion" to turn on the trust enhancement feature.
${item.content.replaceAll("{store_name}","SUITMENS")}
To display this card to customers, you need to go to "Booster & Store Conversion" to turn on the trust enhancement feature.
Product Highlights:
Collar Type: Classic Lapel
Version: Relaxed Fit
Pattern: Solid Color
Suitable Scene: Casual / Daily Wear
Appropriate Season: Autumn / Summer / Spring
Laundry Guidelines: Machine Wash Warm
- Due to the different display and lighting effects, the actual color of the item may be slightly different from the color displayed in the picture.
Size chart
Top off spring and summer outfits with our goes-with-everything loose cotton and linen suit jacket. We believe that fashion should not only look good but feel good as well. That's why we choose high-quality, natural materials that are both comfortable and durable.
It goes well with a variety of outfits, but we particularly recommend pairing it with a shirt and jeans for a casual yet put-together look.
${function() {
const minDays = parseInt('10');
const maxDays = parseInt('15');
const customText = "Estimated Delivery\uff1a{min_date} - {max_date}";
const minDate = new Date(Date.now() + (minDays * 86400000));
const maxDate = new Date(Date.now() + (maxDays * 86400000));
const formatDate = (minDate.getFullYear() == maxDate.getFullYear() && minDate.getFullYear() == new Date().getFullYear())
? new Intl.DateTimeFormat('en', { month: 'short', day: '2-digit' })
: new Intl.DateTimeFormat('en', { month: 'short', day: '2-digit', year: 'numeric' });
const tipText = customText.replace(/\{min_date\}/g, '' + formatDate.format(minDate) + '')
.replace(/\{max_date\}/g, '' + formatDate.format(maxDate) + '');
return `
${tipText}
`;
}()}
${function() {
const postageFreeAmount = 129;
const custom_text = "Buy {amount} more to enjoy FREE Shipping";
const totalPrice = +data.total_price;
const diffPrice = postageFreeAmount - totalPrice;
const percentDiff = (diffPrice > 0 ? (totalPrice / postageFreeAmount * 100) : 100) + '%';
let tipText = "Your order is free delivery";
if (diffPrice > 0) {
tipText = custom_text.replace('{amount}', `
`);
}
return `
`;
}()}