Elegancki kapelusz słomkowy wykonany na szydełku z falbaną
${function() {
const variantData = data.variant || {"id":"beefd103-42ff-493c-8905-ca04bb5df000","product_id":"8705ee50-5e8a-4cf0-80aa-5b2d9f337bbc","title":"\ud83d\udd25R\u00f3\u017cowy","weight_unit":"kg","inventory_quantity":994,"sku":"bl50-Pink","barcode":"","position":1,"option1":"\ud83d\udd25R\u00f3\u017cowy","option2":"","option3":"","note":"","image":{"src":"\/\/img.staticdj.com\/e2a9a58a090a06b3a4b1ff76e4953689.jpeg","path":"e2a9a58a090a06b3a4b1ff76e4953689.jpeg","width":800,"height":800,"alt":"","aspect_ratio":1},"wholesale_price":[{"price":117,"min_quantity":1}],"weight":"0","compare_at_price":"0","price":"117","retail_price":"0","available":true,"url":"\/products\/elegant-crochet-straw-hat?variant=beefd103-42ff-493c-8905-ca04bb5df000","available_quantity":999999999,"options":[{"name":"Kolor","value":"\ud83d\udd25R\u00f3\u017cowy"}],"off_ratio":0,"flashsale_info":[],"sales":1};
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":"beefd103-42ff-493c-8905-ca04bb5df000","product_id":"8705ee50-5e8a-4cf0-80aa-5b2d9f337bbc","title":"\ud83d\udd25R\u00f3\u017cowy","weight_unit":"kg","inventory_quantity":994,"sku":"bl50-Pink","barcode":"","position":1,"option1":"\ud83d\udd25R\u00f3\u017cowy","option2":"","option3":"","note":"","image":{"src":"\/\/img.staticdj.com\/e2a9a58a090a06b3a4b1ff76e4953689.jpeg","path":"e2a9a58a090a06b3a4b1ff76e4953689.jpeg","width":800,"height":800,"alt":"","aspect_ratio":1},"wholesale_price":[{"price":117,"min_quantity":1}],"weight":"0","compare_at_price":"0","price":"117","retail_price":"0","available":true,"url":"\/products\/elegant-crochet-straw-hat?variant=beefd103-42ff-493c-8905-ca04bb5df000","available_quantity":999999999,"options":[{"name":"Kolor","value":"\ud83d\udd25R\u00f3\u017cowy"}],"off_ratio":0,"flashsale_info":[],"sales":1};
return `
`
}()}
Płatność gotówką przy odbiorze
Masz prawo zwrócić produkt w ciągu 14 dni
Zapłać online i zyskaj 10% rabatu
🌞 Zachowaj styl i chroń się przed słońcem dzięki naszej ręcznie tkanej czapce przeciwsłonecznej! 🌿 Podkreśl swój letni styl, chroniąc się przed promieniami słonecznymi dzięki naszemu starannie wykonanemu, tkanemu kapeluszowi przeciwsłonecznemu. Każdy kapelusz jest starannie wykonany ręcznie przez wykwalifikowanych rzemieślników, co zapewnia wyjątkowe wykonanie i dbałość o szczegóły w każdym ściegu.
Charakterystyka:
Materiały najwyższej jakości: nasz kapelusz przeciwsłoneczny wykonany z wysokiej jakości włókien naturalnych zapewnia oddychalność i trwałość, co zapewnia długotrwałe użytkowanie.
STYLOWY I WSZECHSTRONNY DESIGN: Dzięki klasycznemu, ale współczesnemu wzornictwu nasz kapelusz przeciwsłoneczny z łatwością uzupełnia każdy strój, niezależnie od tego, czy wypoczywasz przy basenie, czy spacerujesz po targu rolnym.
Regulowane dopasowanie: Dzięki regulowanemu wewnętrznemu ściągaczowi nasz kapelusz przeciwsłoneczny zapewnia wygodne i bezpieczne dopasowanie do głowy każdej wielkości.
Dlaczego my?
- Materiał: papirus
- Pasuje na obwód głowy: 56-58 cm
- Wykonane etycznie: Wspierając naszych ręcznie robionych rzemieślników, przyczyniasz się do zrównoważonych źródeł utrzymania i zachowujesz tradycyjne rzemiosło.
- Moda z przeznaczeniem: nasz kapelusz przeciwsłoneczny nie tylko podkreśla styl, ale także stawia na pierwszym miejscu Twoje zdrowie, zapewniając ochronę przed słońcem, gdziekolwiek się udasz.
- Idealny na każdą okazję: niezależnie od tego, czy jesteś na plaży, uczestniczysz w przyjęciu w ogrodzie, czy po prostu spędzasz leniwy dzień na świeżym powietrzu, nasz kapelusz przeciwsłoneczny jest idealnym dodatkiem na wszystkie letnie przygody.
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.