Men's Cotton Linen Casual Vacation Plaid Short Sleeve Shirt
people are viewing this right now
Sku : JW2305111144-Orange-M
${function(){
const variantData = data.variant || {"id":"a03a972f-528c-45d4-b22c-537ee944814c","product_id":"934f0ee9-80c6-4c2a-9eee-6b70715ae350","title":"Orange-M","weight_unit":"kg","inventory_quantity":1000,"sku":"JW2305111144-Orange-M","barcode":"","position":1,"option1":"Orange","option2":"M","option3":"","note":"","image":{"src":"\/\/img.staticdj.com\/a7d43268bb634075da77e81df2cc3287.jpeg","path":"a7d43268bb634075da77e81df2cc3287.jpeg","width":960,"height":1280,"alt":"Men's Cotton Linen Casual Vacation Plaid Short Sleeve Shirt","aspect_ratio":0.75},"wholesale_price":[{"price":15.95,"min_quantity":1}],"weight":"0","compare_at_price":"0","price":"15.95","retail_price":"0","available":true,"url":"\/products\/mens-cotton-linen-casual-vacation-plaid-short-sleeve-shirt?variant=a03a972f-528c-45d4-b22c-537ee944814c","available_quantity":999999999,"options":[{"name":"Color","value":"Orange"},{"name":"Size","value":"M"}],"off_ratio":0,"flashsale_info":[],"sales":1};
return `
Sku : ${variantData && variantData.sku}
Weight : ${variantData && variantData.weight}${variantData && variantData.weight_unit}
Barcode : ${variantData && variantData.barcode}
`
}()}
${function() {
const variantData = data.variant || {"id":"a03a972f-528c-45d4-b22c-537ee944814c","product_id":"934f0ee9-80c6-4c2a-9eee-6b70715ae350","title":"Orange-M","weight_unit":"kg","inventory_quantity":1000,"sku":"JW2305111144-Orange-M","barcode":"","position":1,"option1":"Orange","option2":"M","option3":"","note":"","image":{"src":"\/\/img.staticdj.com\/a7d43268bb634075da77e81df2cc3287.jpeg","path":"a7d43268bb634075da77e81df2cc3287.jpeg","width":960,"height":1280,"alt":"Men's Cotton Linen Casual Vacation Plaid Short Sleeve Shirt","aspect_ratio":0.75},"wholesale_price":[{"price":15.95,"min_quantity":1}],"weight":"0","compare_at_price":"0","price":"15.95","retail_price":"0","available":true,"url":"\/products\/mens-cotton-linen-casual-vacation-plaid-short-sleeve-shirt?variant=a03a972f-528c-45d4-b22c-537ee944814c","available_quantity":999999999,"options":[{"name":"Color","value":"Orange"},{"name":"Size","value":"M"}],"off_ratio":0,"flashsale_info":[],"sales":1};
const saveType = "percentage";
const productLabelDiscountOn = true;
return `
-
${saveType == 'percentage'
? `-${variantData.off_ratio}%`
: `-`
}
`;
}()}
${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.
- Occasion:Casual;Daily;Holiday
- Neckline:Shirts collar
- Sleeve Type:Short sleeves
- Thickness:Medium
- Season:All seasons
- Material:Cotton linen
- Design Element:Machine wash;Do not bleach;Iron on a low heat;
- Machine Wash
Please Note:
- Please choose a coo-responding size according to your measurements.
- The size chart listed above is based on international sizing system.
- Sizes may have a margin of error of 2.54cm,or 1 inch due to manual measure.
Size Chart:
Tops Size/IN
TOPS |
Size |
US/UK |
EU |
Chest (in) |
Shoulder (in) |
S |
36-38 |
46-48 |
36-38 |
17-18 |
M |
38-40 |
48-50 |
38-40 |
18-19 |
L |
40-42 |
50-52 |
40-42 |
19-20 |
XL |
42-44 |
52-54 |
42-44 |
20-21 |
2XL |
44-46 |
54-56 |
44-46 |
21-22 |
3XL |
46-48 |
56-58 |
46-48 |
22-23 |
4XL |
48-50 |
58-60 |
48-50 |
23-24 |
5XL |
50-52 |
60-62 |
50-52 |
24-25 |
Bottoms Size/IN
Bottoms |
Size |
US/UK |
EU |
Waist (in) |
Hip (in) |
S |
30-32 |
46-48 |
30-32 |
36-38 |
M |
32-34 |
48-50 |
32-34 |
38-40 |
L |
34-36 |
50-52 |
34-36 |
40-42 |
XL |
36-38 |
52-54 |
36-38 |
42-44 |
2XL |
38-40 |
54-56 |
38-40 |
44-46 |
3XL |
40-42 |
56-58 |
40-42 |
46-48 |
4XL |
42-44 |
58-60 |
42-44 |
48-50 |
5XL |
44-46 |
60-62 |
44-46 |
50-52 |
Shipping Method |
Cost-Order Interval |
Shipping Time |
Free Shipping |
Free for orders over $69.00
|
10-21 business days |
Standard Shipping |
$6.99 for orders over $69.00
|
10-21 business days |
Expedited Shipping |
$9.99
|
7-15 business days |
*Receiving time = Processing time + Shipping time
*Note: If you order multiple items, the processing time will be based on the item with the longest processing time.
Click here For more info and international shipping
Here are what our customers say.
Newest
Most liked
Highest ratings
Lowest ratings
Wow you reached the bottom
Most liked
Highest ratings
Lowest ratings
×
${function(){
const limit = typeof data === 'number' ? data : 0;
return `
Pictures/Videos (${limit || 0}/5)
` }()}
${(function(){
const closeIcon =
'
';
if (item.type === 'image') {
return `
${closeIcon}
`
}
return `
${closeIcon}
`
})()}
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.