2025 nowa modna odzież damska, nowe produkty na rynku
${function() {
const variantData = data.variant || {"id":"64c75e47-b946-4507-9fd8-1361b3066cc8","product_id":"f1e09267-19ba-486e-9c8d-9c3d63d62f0b","title":"niebieski-S","weight_unit":"kg","inventory_quantity":100,"sku":"vl38-Albas-S","barcode":"","position":1,"option1":"niebieski","option2":"S","option3":"","note":"","image":{"src":"\/\/img.staticdj.com\/dd3f2c5cb330d10fc1696b0e1bc1f466.jpeg","path":"dd3f2c5cb330d10fc1696b0e1bc1f466.jpeg","width":406,"height":720,"alt":"","aspect_ratio":0.5638888888888889},"wholesale_price":[{"price":135,"min_quantity":1}],"weight":"0","compare_at_price":"275","price":"135","retail_price":"275","available":true,"url":"\/products\/moda-pentru-femei-nou-sosire-ron?variant=64c75e47-b946-4507-9fd8-1361b3066cc8","available_quantity":999999999,"options":[{"name":"Kolor","value":"niebieski"},{"name":"Rozmiar","value":"S"}],"off_ratio":51,"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}
`
}()}
Produkt był niedostępny.
Produkt niedostępny.
DHL Płatność gotówką przy odbiorze
Masz prawo zwrócić produkt w ciągu 14 dni
Zapłać online i zyskaj 10% rabatu
Styl: swobodny
Materiał: Mieszanki bawełny
Rodzaj sukienki: Sukienka w kształcie litery A
Długość sukienki: Długość do kolan
Dekolt: Okrągły
Rodzaj rękawa: Zwykły
Długość rękawa: Rękaw 3/4
Rodzaj dopasowania: Zwykły
Sezon: Wiosna, Lato
Okazja: Codziennie
Zawartość opakowania: 1 x sukienka
Rozmiar |
Biust |
Długość |
S |
95cm |
100cm |
M |
100cm |
101.5cm |
L |
105cm |
103cm |
XL |
111cm |
104.5cm |
2XL |
117cm |
106cm |
3XL |
123cm |
106cm |
4XL |
129cm |
107cm |
5XL |
135cm |
107cm |
- Proszę ściśle przestrzegać tabeli rozmiarów, aby wybrać rozmiar. Nie wybieraj bezpośrednio według swoich przyzwyczajeń.
- Rozmiar może różnić się o 1-3 cm ze względu na pomiary ręczne. Zwróć uwagę podczas pomiaru.
- Ze względu na różne wyświetlacze i efekty świetlne, rzeczywisty kolor przedmiotu może nieznacznie różnić się od koloru pokazanego na zdjęciach.
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.