Blue Embroidered Print Design 2-Piece Walking Set
Sku : YP2301303603-Blue-M
${function(){
const variantData = data.variant || {"id":"064e9dd9-2ad4-4d6f-acff-5f2beb33e407","product_id":"37894ba0-3480-4d11-bb45-5bad779d9b14","title":"Blue-M","weight_unit":"kg","inventory_quantity":0,"sku":"YP2301303603-Blue-M","barcode":"","position":1,"option1":"Blue","option2":"M","option3":"","note":"","image":{"src":"\/\/img.staticdj.com\/0226af63242fb6a99fdd5f2383989b18.jpeg","path":"0226af63242fb6a99fdd5f2383989b18.jpeg","width":800,"height":1000,"alt":"","aspect_ratio":0.8},"wholesale_price":[{"price":55.95,"min_quantity":1}],"weight":"0.8","compare_at_price":"0","price":"55.95","retail_price":"0","available":true,"url":"\/products\/blue-embroidered-print-design-2-piece-walking-set?variant=064e9dd9-2ad4-4d6f-acff-5f2beb33e407","available_quantity":999999999,"options":[{"name":"Color","value":"Blue"},{"name":"Size","value":"M"}],"off_ratio":0,"flashsale_info":[],"sales":14};
return `
Sku : ${variantData && variantData.sku}
Barcode : ${variantData && variantData.barcode}
`
}()}
${function() {
const variantData = data.variant || {"id":"064e9dd9-2ad4-4d6f-acff-5f2beb33e407","product_id":"37894ba0-3480-4d11-bb45-5bad779d9b14","title":"Blue-M","weight_unit":"kg","inventory_quantity":0,"sku":"YP2301303603-Blue-M","barcode":"","position":1,"option1":"Blue","option2":"M","option3":"","note":"","image":{"src":"\/\/img.staticdj.com\/0226af63242fb6a99fdd5f2383989b18.jpeg","path":"0226af63242fb6a99fdd5f2383989b18.jpeg","width":800,"height":1000,"alt":"","aspect_ratio":0.8},"wholesale_price":[{"price":55.95,"min_quantity":1}],"weight":"0.8","compare_at_price":"0","price":"55.95","retail_price":"0","available":true,"url":"\/products\/blue-embroidered-print-design-2-piece-walking-set?variant=064e9dd9-2ad4-4d6f-acff-5f2beb33e407","available_quantity":999999999,"options":[{"name":"Color","value":"Blue"},{"name":"Size","value":"M"}],"off_ratio":0,"flashsale_info":[],"sales":14};
const saveType = "percentage";
const productLabelDiscountOn = true;
return `
-
${saveType == 'percentage'
? `-${variantData.off_ratio}%`
: `-`
}
`;
}()}
Order >> 5-10 days to processing. Delivery>> 10-15 days to arrive
${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.
- Category: Two piece set
- Occasion: Leisure, vacation.
- Season: Spring, summer, autumn.
- Elasticity: Low elasticity
- Suitable Type: Loose
- Shirt Details: Short sleeve, button closure.
- Pants Details: Elastic waistband with adjustable drawstring, side hand pockets.
- Fabric: Polyester fiber, cotton.
- Neckline: Lapel
- Care Instructions: Machine wash in cold water. Dark and light-colored clothes should be washed separately.
- Package Include: 1*Shirt, 1*Pants.
- Size Reference: Please choose shirts according to your length, sleeve length, and chest circumference, and pants according to your length and waist circumference. The specific sizes are in the size guide. If you have any questions about size selection, please send an email to suitmens@service.com or contact us on Facebook.
${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 = 99;
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 `
`;
}()}