Modna damska torba na ramię na co dzień w jednolitym kolorze
${function() {
const variantData = data.variant || {"id":"de1d9eb2-51e7-4467-a28c-21872891661c","product_id":"75d8ac0d-7f6f-4398-bd29-10c4c4d0c666","title":"Czarny","weight_unit":"kg","inventory_quantity":1000,"sku":"mr17-Black","barcode":"","position":1,"option1":"Czarny","option2":"","option3":"","note":"","image":{"src":"\/\/img.staticdj.com\/39a6a602e8e1c0e5a08afd71c1fe4b3a.jpeg","path":"39a6a602e8e1c0e5a08afd71c1fe4b3a.jpeg","width":800,"height":800,"alt":"","aspect_ratio":1},"wholesale_price":[{"price":89,"min_quantity":1}],"weight":"0","compare_at_price":"0","price":"89","retail_price":"0","available":true,"url":"\/products\/modna-damska-torba-na-ramie-na-co-dzien-w-jednolitym-kolorze?variant=de1d9eb2-51e7-4467-a28c-21872891661c","available_quantity":999999999,"options":[{"name":"Kolor","value":"Czarny"}],"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}
`
}()}
Produkt był niedostępny.
Produkt niedostępny.
${function(){
const variantData = data.variant || {"id":"de1d9eb2-51e7-4467-a28c-21872891661c","product_id":"75d8ac0d-7f6f-4398-bd29-10c4c4d0c666","title":"Czarny","weight_unit":"kg","inventory_quantity":1000,"sku":"mr17-Black","barcode":"","position":1,"option1":"Czarny","option2":"","option3":"","note":"","image":{"src":"\/\/img.staticdj.com\/39a6a602e8e1c0e5a08afd71c1fe4b3a.jpeg","path":"39a6a602e8e1c0e5a08afd71c1fe4b3a.jpeg","width":800,"height":800,"alt":"","aspect_ratio":1},"wholesale_price":[{"price":89,"min_quantity":1}],"weight":"0","compare_at_price":"0","price":"89","retail_price":"0","available":true,"url":"\/products\/modna-damska-torba-na-ramie-na-co-dzien-w-jednolitym-kolorze?variant=de1d9eb2-51e7-4467-a28c-21872891661c","available_quantity":999999999,"options":[{"name":"Kolor","value":"Czarny"}],"off_ratio":0,"flashsale_info":[],"sales":0};
return `
`
}()}
Płatność gotówką przy odbiorze
Masz prawo zwrócić produkt w ciągu 14 dni
Zapłać online i zyskaj 10% rabatu
Najpopularniejsza torba wśród kobiet! Duża pojemność, wiele przegródek, wysoka jakość!
CECHY:
- 【MODNY 】: Damski plecak na ramię wykonany jest z wodoodpornego PU, jest lekki i wodoodporny, dzięki czemu został zaprojektowany specjalnie do codziennego użytku.
- 【WSZECHSTRONNY】: Umożliwia noszenie go jako torby na ramię lub jako plecaka, dzięki czemu został zaprojektowany specjalnie do użytku podczas załatwiania spraw, podróżowania lub po prostu spędzania czasu. Damska torba na ramię została zaprojektowana specjalnie do noszenia niezbędnych rzeczy w podróży.
- Świetnej wielkości torba, która nie jest nieporęczna, pomieści portfel, gotówkę, telefon, karty, paszport i inne niezbędne rzeczy. Pomieści wszystko, do czego chcesz mieć szybki dostęp.
- 【REGULOWANA 】 : Pułapka na ramię jest wystarczająco długa, aby dopasować się do ciała i może być używana jako torba na klatkę piersiową lub torbę na ramię, dzięki czemu jest wystarczająco wszechstronna, aby sprostać wymaganiom Twojego codziennego życia.
- 【Idealny prezent】: To także wyjątkowy prezent na rocznicę urodzin, Walentynki, Dzień Matki, Boże Narodzenie lub Dzień Specjalny.
Specyfikacja
- Materiał: PU, tkanina Oxford (styl standardowy)
- Styl: crossbody
- Otwarcie: zamknięcie na zamek błyskawiczny
- Waga : 350g, 150g
- Rozmiar:
Here are what our customers say.
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.