51 szt. DIY Retro ozdoba w kształcie modelu roweru dla dzieci
${function() {
const variantData = data.variant || {"id":"e78a22f9-54ab-4ac7-811f-4c1ffc82110c","product_id":"16fc601d-a0a5-4816-b795-a5a96c25bdf1","title":"Czarny","weight_unit":"kg","inventory_quantity":100,"sku":"na76-Black","barcode":"","position":1,"option1":"Czarny","option2":"","option3":"","note":"","image":{"src":"\/\/img.staticdj.com\/6ba94543a553fc9a42737644a2a83306.jpeg","path":"6ba94543a553fc9a42737644a2a83306.jpeg","width":800,"height":800,"alt":"","aspect_ratio":1},"wholesale_price":[{"price":115,"min_quantity":1}],"weight":"0","compare_at_price":"0","price":"115","retail_price":"0","available":true,"url":"\/products\/retro-bicycle-model-ornament?variant=e78a22f9-54ab-4ac7-811f-4c1ffc82110c","available_quantity":999999999,"options":[{"name":"Kolor","value":"Czarny"}],"off_ratio":0,"flashsale_info":[],"sales":18};
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.
DHL Płatność gotówką przy odbiorze
Masz prawo zwrócić produkt w ciągu 14 dni
Zapłać online i zyskaj 10% rabatu
EALISTYCZNY PROJEKT - Zgodnie z prototypowym projektem roweru, pojazd jest wyjątkowy, ma realistyczny kształt i jest zapakowany w niezależne kolorowe pudełko.
-
STYL RETRO - Wyjątkowy styl retro jest rzadkością na rynku. Możesz przywrócić żądaną starożytną scenę w zależności od roweru.
-
WYSOKA JAKOŚĆ - Stop cynku i tworzywa sztuczne, materiały odporne na zużycie zwiększą żywotność zabawek. Wygląda bardziej realistycznie, może współpracować z Twoją minilalką lub zawiesić ją za samochodem zabawkowym jako scenę symulacyjną.
SPECYFIKACJE
-
Materiał: stop cynku/plastik/guma
-
Waga: 0,44 funta / 200 g
-
Kolor: czarny, zielony
-
Rozmiar: 20,5 * 6,4 * 11,5 cm
PAKIET
- 1 * DIY zmontowany Model roweru
NOTATKI
- Rozmiar modelu samochodu: 20,5 * 6,4 * 11,5 cm
-
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.
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.