Uniwersalna torba antykradzieżowa
${function() {
const variantData = data.variant || {"id":"a0a3b23a-9f69-49b9-a2bd-6c7c1543572c","product_id":"ea7b3c8f-1229-4c62-a8c2-38f4e277b43c","title":"Cekin czarny","weight_unit":"kg","inventory_quantity":992,"sku":"sa55-Selack","barcode":"","position":1,"option1":"Cekin czarny","option2":"","option3":"","note":"","image":{"src":"\/\/img.staticdj.com\/5ccf7edf5eab441131530e158cfed6e9.jpeg","path":"5ccf7edf5eab441131530e158cfed6e9.jpeg","width":800,"height":800,"alt":"","aspect_ratio":1},"wholesale_price":[{"price":129,"min_quantity":1}],"weight":"0","compare_at_price":"0","price":"129","retail_price":"0","available":true,"url":"\/products\/anti-theft-multi-purpose-bag?variant=a0a3b23a-9f69-49b9-a2bd-6c7c1543572c","available_quantity":999999999,"options":[{"name":"Kolor","value":"Cekin czarny"}],"off_ratio":0,"flashsale_info":[],"sales":2};
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":"a0a3b23a-9f69-49b9-a2bd-6c7c1543572c","product_id":"ea7b3c8f-1229-4c62-a8c2-38f4e277b43c","title":"Cekin czarny","weight_unit":"kg","inventory_quantity":992,"sku":"sa55-Selack","barcode":"","position":1,"option1":"Cekin czarny","option2":"","option3":"","note":"","image":{"src":"\/\/img.staticdj.com\/5ccf7edf5eab441131530e158cfed6e9.jpeg","path":"5ccf7edf5eab441131530e158cfed6e9.jpeg","width":800,"height":800,"alt":"","aspect_ratio":1},"wholesale_price":[{"price":129,"min_quantity":1}],"weight":"0","compare_at_price":"0","price":"129","retail_price":"0","available":true,"url":"\/products\/anti-theft-multi-purpose-bag?variant=a0a3b23a-9f69-49b9-a2bd-6c7c1543572c","available_quantity":999999999,"options":[{"name":"Kolor","value":"Cekin czarny"}],"off_ratio":0,"flashsale_info":[],"sales":2};
return `
`
}()}
Płatność gotówką przy odbiorze
Masz prawo zwrócić produkt w ciągu 14 dni
Zapłać online i zyskaj 10% rabatu
CECHY
-
Trwały materiał: plecaki Oxford są zwykle wykonane z tkaniny Oxford, która jest odporna na zużycie, wodoodporna i trwała oraz wytrzymuje próby codziennego użytkowania.
-
Konstrukcja o dużej pojemności: Konstrukcja plecaków zwykle koncentruje się na pojemności, zapewniając wystarczająco dużo miejsca, aby pomieścić książki, laptopy, foldery i inne przedmioty. Zwykle ma wiele głównych przegródek i kieszeni, co pozwala zachować porządek.
-
Wygodny system nośny: Aby zapewnić wygodę noszenia, plecaki Oxford są zwykle wyposażone w pogrubione paski na ramiona i podkładki na plecy, aby zmniejszyć nacisk na ramiona i plecy. Niektóre marki stosują również materiały oddychające, aby zwiększyć wentylację i zapewnić większy komfort.
-
Wielofunkcyjny design: plecaki Oxford często mają wiele funkcjonalnych projektów, takich jak wewnętrzne piórniki, małe kieszonki, boczne kieszenie z siatki itp., które ułatwiają przechowywanie i organizowanie różnych drobnych przedmiotów.
-
Szczegóły: W plecakach Oxford często przywiązuje się wagę do szczegółów, aby poprawić ich wygląd i funkcjonalność. Na przykład użyj wysokiej jakości zamków błyskawicznych i klamer, aby zwiększyć gładkość i trwałość otwierania i zamykania.
SPECYFIKACJE
-
Waga: 410g
-
Kolor: czarny, kawa
-
Płeć żeńska
-
Materiał: tkanina Oxford
-
Rozmiar:
PAKIET
- 1 * uniwersalna torba antykradzieżowa
NOTATKA
- Proszę pozwolić na niewielkie odchylenia pomiaru ze względu na pomiary ręczne.
- Ze względu na inny monitor i efekt świetlny rzeczywisty kolor przedmiotu może nieznacznie różnić się od koloru pokazanego na zdjęciach.
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.