Sukienka lniano-bawełniana z nadrukiem
${function() {
const variantData = data.variant || {"id":"c9e41f8d-5cbd-4d6c-9537-3c9fcea3ee59","product_id":"6cfa4ed0-d014-4369-ba35-4ade536d73dd","title":"R\u00f3\u017cowy-S","weight_unit":"kg","inventory_quantity":1000,"sku":"mi73-Pink-S","barcode":"","position":1,"option1":"R\u00f3\u017cowy","option2":"S","option3":"","note":"","image":{"src":"\/\/img.staticdj.com\/49cf8d70a8e90c69da223348643aa048.png","path":"49cf8d70a8e90c69da223348643aa048.png","width":720,"height":1280,"alt":"","aspect_ratio":0.5625},"wholesale_price":[{"price":129,"min_quantity":1}],"weight":"0","compare_at_price":"0","price":"129","retail_price":"0","available":true,"url":"\/products\/linen-cotton-dressdeb1f0f3-4eec-4406-96e3-1d00a03ce402?variant=c9e41f8d-5cbd-4d6c-9537-3c9fcea3ee59","available_quantity":999999999,"options":[{"name":"Kolor","value":"R\u00f3\u017cowy"},{"name":"Rozmiar","value":"S"}],"off_ratio":0,"flashsale_info":[],"sales":0};
const saveType = "amount";
const productLabelDiscountOn = true;
return `
-
${saveType == 'percentage'
? `-${variantData.off_ratio}%`
: `-`
}
`;
}()}
${function(){
const tipText = "Wybierz {{ name }}".replace(/\{\{\s+name\s+\}\}/g, data);
return `${tipText}
`
}()}
${function(){
const tipText = "Wybierz {{ name }}".replace(/\{\{\s+name\s+\}\}/g, data);
return `${tipText}
`
}()}
${function() {
const minInventory = parseInt('10');
const maxInventory = parseInt('50');
const randomInventory = Math.round(Math.random() * (maxInventory - minInventory)) + minInventory;
const customText = "Pozosta\u0142o tylko {stock} sztuk w magazynie!".replace(/\{stock\}/g, '' + randomInventory + '');
const barWidth = (randomInventory / maxInventory) * 100 + '%';
return `
`;
}()}
Produkt był niedostępny.
Produkt niedostępny.
${function(){
const variantData = data.variant || {"id":"c9e41f8d-5cbd-4d6c-9537-3c9fcea3ee59","product_id":"6cfa4ed0-d014-4369-ba35-4ade536d73dd","title":"R\u00f3\u017cowy-S","weight_unit":"kg","inventory_quantity":1000,"sku":"mi73-Pink-S","barcode":"","position":1,"option1":"R\u00f3\u017cowy","option2":"S","option3":"","note":"","image":{"src":"\/\/img.staticdj.com\/49cf8d70a8e90c69da223348643aa048.png","path":"49cf8d70a8e90c69da223348643aa048.png","width":720,"height":1280,"alt":"","aspect_ratio":0.5625},"wholesale_price":[{"price":129,"min_quantity":1}],"weight":"0","compare_at_price":"0","price":"129","retail_price":"0","available":true,"url":"\/products\/linen-cotton-dressdeb1f0f3-4eec-4406-96e3-1d00a03ce402?variant=c9e41f8d-5cbd-4d6c-9537-3c9fcea3ee59","available_quantity":999999999,"options":[{"name":"Kolor","value":"R\u00f3\u017cowy"},{"name":"Rozmiar","value":"S"}],"off_ratio":0,"flashsale_info":[],"sales":0};
return `
`
}()}
Płatność gotówką przy odbiorze
Zapłać online i zyskaj 10% rabatu
Prawo do żądania zwrotu pieniędzy w ciągu 14 dni od daty dostawy
„Ilekroć to noszę, słyszę komplementy!”
✨✨ Elegancka spódnica za kolano
Opis produktu
Cechy charakterystyczne: elegancja, spódnica w kształcie litery A, wąska, za kolano, elastyczne mankiety.
Styl: |
Zwykły |
Typ wzoru: |
Zwykły |
Pora roku: |
Wiosna lato |
Długość: |
Regularny |
Materiał: |
Miękka elastyczna tkanina |
✔️ Ręcznie robione z miękkiego poliestru
✔️ Kombinezon pasuje zgodnie z rozmiarem
✔️ Lekki i rozciągliwy
Okazje: impreza, wesele, urodziny, przyjęcie koktajlowe, zakupy, randka, impreza weekendowa, plaża, na świeżym powietrzu, wakacje, wypoczynek itp.
Oto, co mówią nasi klienci.
Najnowsza
Najbardziej lubiany
Najwyższe oceny
Najniższe oceny
Najbardziej lubiany
Najwyższe oceny
Najniższe oceny
×
${function(){
const limit = typeof data === 'number' ? data : 0;
return `
Zdjęcia/wideo (${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.