Livraison gratuite dès 50 € !
fr.everydayedeals 12pcs Ornement suspendu - DIY Diamant Peinture - Mois
fr.everydayedeals 12pcs Ornement suspendu - DIY Diamant Peinture - Mois
fr.everydayedeals 12pcs Ornement suspendu - DIY Diamant Peinture - Mois
fr.everydayedeals 12pcs Ornement suspendu - DIY Diamant Peinture - Mois
fr.everydayedeals 12pcs Ornement suspendu - DIY Diamant Peinture - Mois
fr.everydayedeals 12pcs Ornement suspendu - DIY Diamant Peinture - Mois
fr.everydayedeals 12pcs Ornement suspendu - DIY Diamant Peinture - Mois
fr.everydayedeals 12pcs Ornement suspendu - DIY Diamant Peinture - Mois
fr.everydayedeals 12pcs Ornement suspendu - DIY Diamant Peinture - Mois
fr.everydayedeals 12pcs Ornement suspendu - DIY Diamant Peinture - Mois
fr.everydayedeals 12pcs Ornement suspendu - DIY Diamant Peinture - Mois
fr.everydayedeals 12pcs Ornement suspendu - DIY Diamant Peinture - Mois
fr.everydayedeals 12pcs Ornement suspendu - DIY Diamant Peinture - Mois
fr.everydayedeals 12pcs Ornement suspendu - DIY Diamant Peinture - Mois
fr.everydayedeals 12pcs Ornement suspendu - DIY Diamant Peinture - Mois
fr.everydayedeals 12pcs Ornement suspendu - DIY Diamant Peinture - Mois
fr.everydayedeals 12pcs Ornement suspendu - DIY Diamant Peinture - Mois
fr.everydayedeals 12pcs Ornement suspendu - DIY Diamant Peinture - Mois
fr.everydayedeals 12pcs Ornement suspendu - DIY Diamant Peinture - Mois
fr.everydayedeals 12pcs Ornement suspendu - DIY Diamant Peinture - Mois
1 / 20
fr.everydayedeals 12pcs Ornement suspendu - DIY Diamant Peinture - Mois
fr.everydayedeals 12pcs Ornement suspendu - DIY Diamant Peinture - Mois
fr.everydayedeals 12pcs Ornement suspendu - DIY Diamant Peinture - Mois
fr.everydayedeals 12pcs Ornement suspendu - DIY Diamant Peinture - Mois
fr.everydayedeals 12pcs Ornement suspendu - DIY Diamant Peinture - Mois
fr.everydayedeals 12pcs Ornement suspendu - DIY Diamant Peinture - Mois
fr.everydayedeals 12pcs Ornement suspendu - DIY Diamant Peinture - Mois
fr.everydayedeals 12pcs Ornement suspendu - DIY Diamant Peinture - Mois
fr.everydayedeals 12pcs Ornement suspendu - DIY Diamant Peinture - Mois
fr.everydayedeals 12pcs Ornement suspendu - DIY Diamant Peinture - Mois
fr.everydayedeals 12pcs Ornement suspendu - DIY Diamant Peinture - Mois
fr.everydayedeals 12pcs Ornement suspendu - DIY Diamant Peinture - Mois
fr.everydayedeals 12pcs Ornement suspendu - DIY Diamant Peinture - Mois
fr.everydayedeals 12pcs Ornement suspendu - DIY Diamant Peinture - Mois
fr.everydayedeals 12pcs Ornement suspendu - DIY Diamant Peinture - Mois
fr.everydayedeals 12pcs Ornement suspendu - DIY Diamant Peinture - Mois
fr.everydayedeals 12pcs Ornement suspendu - DIY Diamant Peinture - Mois
fr.everydayedeals 12pcs Ornement suspendu - DIY Diamant Peinture - Mois
fr.everydayedeals 12pcs Ornement suspendu - DIY Diamant Peinture - Mois
fr.everydayedeals 12pcs Ornement suspendu - DIY Diamant Peinture - Mois
Tu pourrais aussi aimer Je n'aime pas ça?
0% OFF
Épargnez €-121.99
EDS

12pcs Ornement suspendu - DIY Diamant Peinture - Mois

€121.99
0 ventes
Quantité 1000 Stock

Noël Gnome diamant Art suspendu Pendentif Signe Xmas Mur Nain Orne DIY diamant Art Ornements Père Noël Bonhomme de neige diamant Art Kits
Caractéristiques :
1. Présentation dans N'importe quel environnement : affichez cet ornement d'art en diamant DIY dans n'importe quel cadre pour impressionner les membres de votre famille. Il fait également un cadeau parfait pour vos amis, en ajoutant une touche d'éclat avec des strass en cristal et en l'accrochant avec une ficelle dans n'importe quel coin ou salon.
2. Signification de la décoration festive : Avec son strass en cristal étincelants, ce kit de décorations à suspendre crée une atmosphère festive et ajoute une touche décorative à n'importe quel espace.
3. Projet de bricolage amusant : Engagez-vous dans un projet de bricolage agréable et partagez votre famille et vos amis. Ce pendentif suspendu en forme de diamant vous permet de créer quelque chose d'unique et de personnel.
4.Positionnement polyvalent : accrochez le pendentif à divers endroits tels que les coins, les salons ou même sur les murs . Son design accrocheur rehaussera l'ambiance de n'importe quelle pièce.
5.Partagez la joie : Créez de beaux souvenirs tout en fabriquant ce kit d'art en diamant avec vos proches. Partagez la joie de la créativité et offrez-leur un cadeau significatif qu'ils pourront chérir.

Spécification :
Origine : Chine continentale
Utilisation : Peintures
Style : Style moderne
Matière : résine
forme de diamant : forme spéciale
Forme : plate
Zone de collage : pleine
Type de vente en gros : non
Type d'ensemble : OUI
Taille du produit : 260.00x79.00x10.00mm/10.24x3.11x0.39inch
Matériau : PET léger + résine< span>diamants
Taille : comme indiqué
Poids : 90 g
diamant type : résine diamant rond diamant
Le matériau PET a une bonne flexibilité, pas facile à CASSER et léger
DIY peinture au diamant< span> étapes de production :
1. Ouvrez le sac, vérifiez les outils spéciaux de peinture au diamant
2. Vérifiez la couleur des diamants en résine et disposez-les dans l'ordre du code.
3. Découvrez le diagramme de bande ci-dessus, vous verrez de nombreux symboles correspondant au code de couleur
4. Selon le gabarit de code de couleur correspondant, incrustation de résine diamant
5. Il est recommandé de compléter plus rapidement un ensemble de diamants en résine
6. Afin de créer un produit diamant parfait, placez le produit à un endroit où chaque rangée de symboles ne doit pas laisser un diamant</ span> derrière.
7. pointez les diamants selon les symboles correspondants et, enfin, décorez à votre s'en donner à cœur joie dans une ambiance festive !
C'est du DIY parsemant de diamants, pas fini, il faut le finir soi-même< /span>

Remarque :
En raison des différents effets de moniteur et de lumière, la couleur réelle de l'article peut être légèrement différente de la couleur montrée sur les images. Merci !
Veuillez permettre un écart de mesure de 1 à 2 cm en raison d'une mesure manuelle.

Contenu de l'emballage :
1Set X Pendentif (avec lanière)
1PC X</span Outils de >peinture au diamant (stylo de repérage, disque d'accélération)

Tu pourrais aussi aimer Je n'aime pas ça?
Avis des clients

Here are what our customers say.

émettre un commentaire
Commentaire de clients
tu as atteint le fond
Le plus récent
Le plus aimé
Meilleures notes
Notes les plus basses
×
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.
class SpzSmartBlockComponent extends SPZ.BaseElement { constructor(element) { super(element); this.templates_ = null; this.container_ = null; this.i18n_ = {}; this.config_ = {}; this.show_type_ = 3; this.product_resource_id_ = ''; this.collection_resource_id_ = ''; this.cart_items_ = []; this.customer_id_ = ''; this.order_id_ = ''; } static deferredMount() { return false; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { const template_type = window.SHOPLAZZA.meta.page.template_type; if (template_type === 1) { this.show_type_ = 3; this.product_resource_id_ = window.SHOPLAZZA.meta.page.resource_id; } else if (template_type === 2) { this.show_type_ = 4; this.collection_resource_id_ = window.SHOPLAZZA.meta.page.resource_id; } else if (template_type === 15){ this.show_type_ = 5; } else if (template_type === 13){ this.show_type_ = 6; } else if (template_type === 20){ this.show_type_ = 7; this.customer_id_ = window.SHOPLAZZA.customer.customer_id; } else if (template_type === 35){ this.show_type_ = 8; this.order_id_ = window.location.pathname.split('/').pop(); } this.templates_ = SPZServices.templatesForDoc(this.element); this.setAction_(); } mountCallback() { console.log('smart mounted'); const that = this; const themeName = window.SHOPLAZZA.theme.merchant_theme_name; const isGeek = /Geek/.test(themeName); this.fetchRules().then((res) => { if (res && res.rules && res.rules.length) { const blockEl = document.getElementById('smart_recommend_block'); SPZ.whenApiDefined(blockEl).then((api) => { api.render({data: res}, true).then(() => { if (isGeek && that.show_type_ === 6) { blockEl.querySelector('.plugin_container_wrpper').style.padding = '30px 0'; } const recommendStyle = document.createElement('style'); recommendStyle.innerHTML = ` .plugin__recommend_container,.app-recommend-card { display: none !important; } `; document.head.appendChild(recommendStyle); const fetchList = []; res.rules.forEach((rule) => { fetchList.push(this.fetchRuleProductList(rule.id)); }); const fetchAll = Promise.all(fetchList); fetchAll.then((p_res) => { res.rules.forEach((rule, index) => { rule.products = p_res[index] && p_res[index].products; const ruleEl = document.getElementById('smart_recommend_rule_' + rule.id); SPZ.whenApiDefined(ruleEl).then((api) => { api.render({data: rule}, true).then(() => { that.impressListen(`#smart_recommend_rule_ul_${rule.id}`, function(){ that.trackRuleImpress(rule); }); const btnElList = document.querySelectorAll(`#smart_recommend_rule_ul_${rule.id} button`); btnElList.forEach((btnEl) => { if (btnEl && rule.config && rule.config.quick_shop_button_bg_color && rule.config.quick_shop_button_text_color) { btnEl.style.backgroundColor = rule.config.quick_shop_button_bg_color; btnEl.style.color = rule.config.quick_shop_button_text_color; } }) }); }); }); }); }) }) } else { if (window.top !== window.self) { const template_type = window.SHOPLAZZA.meta.page.template_type; const holderEl = document.getElementById('smart_recommend_preview_no_data_placeholder'); SPZ.whenApiDefined(holderEl).then((api) => { api.render({data: { isCart: template_type === 13, isCollection: template_type === 2, isProduct: template_type === 1, isIndex: template_type === 15 }}, true); }); } } }); } setAction_() { this.registerAction('quickShop', (data) => { const that = this; const product_id = data.args.product_id; const productIndex = data.args.productIndex; const rule_id = data.args.rule_id; const ssp = data.args.ssp; const scm = data.args.scm; const cfb = data.args.cfb; const ifb = data.args.ifb; const modalRender = document.getElementById('smart_recommend_product_modal_render'); if (product_id) { this.fetchProductData(product_id).then((res) => { const product = res.products && res.products.length && res.products[0] || {}; product.cfb = cfb; product.ifb = ifb; SPZ.whenApiDefined(modalRender).then((api) => { api.render({product: product, productIndex: productIndex, rule_id: rule_id, ssp: ssp, scm: scm, show_type: that.show_type_}, true).then(() => { const modalEl = document.getElementById('smart_recommend_product_modal'); SPZ.whenApiDefined(modalEl).then((modal) => { that.impressListen('#smart_recommend_product_modal', function(){ that.trackQuickShop({ rule_id: rule_id, product_id: product_id }); }); modal.open(); }); const formEl = document.getElementById('smart_recommend_product_form'); SPZ.whenApiDefined(formEl).then((form) => { form.setProduct(product); }); const variantEl = document.getElementById('smart_recommend_product_variants'); SPZ.whenApiDefined(variantEl).then((variant) => { variant.handleRender(product); }); }); }) }); } }); this.registerAction('handleScroll', (data) => { this.directTo(data.args.rule_id, data.args.direction); }); this.registerAction('handleProductChange', (data) => { const variant = data.args.data.variant; const product = data.args.data.product; const imageRenderEl = document.getElementById('smart_recommend_product_image'); SPZ.whenApiDefined(imageRenderEl).then((api) => { api.render({ variant: variant, product: product }, true); }); }); this.registerAction('handleAtcSuccess', (detail) => { const data = detail.args; data.data.product = data.data.product || {}; data.data.variant = data.data.variant || {}; const product_id = data.data.product.id; const product_title = data.data.product.title; const variant_id = data.data.variant.id; const price = data.data.variant.price; const rule_id = data.rule_id; const aid = `smart_recommend.${this.show_type_}.${rule_id}`; const ifb = data.data.product.ifb; const cfb = data.data.product.cfb; const ssp = data.ssp; const scm = data.scm; const spm = `smart_recommend_${this.show_type_}.${data.spmIndex}`; const params = { id: product_id, product_id: product_id, number: 1, name: product_title, variant_id: variant_id, childrenId: variant_id, item_price: price, source: 'add_to_cart', _extra: { aid: aid, ifb: ifb, cfb: cfb, scm: scm, spm: `..${window.SHOPLAZZA.meta.page.template_name}.${spm}`, ssp: ssp, } }; this.tranckAddToCart(params); }); this.registerAction('addATCHook', (data) => { const params = data.args; const spm = `smart_recommend_${this.show_type_}.${params.spmIndex}`; this.myInterceptor_ = window.djInterceptors && window.djInterceptors.track.use({ event: 'dj.addToCart', params: { aid: `smart_recommend.${this.show_type_}.` + params.rule_id, ssp: params.ssp, scm: params.scm, cfb: params.cfb, spm: `..${window.SHOPLAZZA.meta.page.template_name}.${spm}`, }, once: true }); }); } tranckAddToCart(detail) { if (window.$) { window.$(document.body).trigger('dj.addToCart', detail); } } fetchRules() { const payload = { show_type: this.show_type_, }; let that = this; if (this.show_type_ === 6) { let line_items = []; return this.fetchCart().then((res) => { if (res && res.cart && res.cart.line_items) { line_items = res.cart.line_items.map((item) => { return { product_id: item.product_id, variant_id: item.variant_id, quantity: item.quantity, price: item.price } }); } payload.line_items = line_items; that.cart_items_ = line_items; return that.fetchRulesRequest(payload); }); } else { if (this.show_type_ === 3) { payload.line_items = [{ product_id: this.product_resource_id_ }]; } else if (this.show_type_ === 4) { payload.collection_id = this.collection_resource_id_; } else if (this.show_type_ === 7) { payload.customer_id = this.customer_id_; } else if (this.show_type_ === 8) { payload.order_id = this.order_id_; } return this.fetchRulesRequest(payload); } } fetchRulesRequest(payload) { return fetch(window.SHOPLAZZA.routes.root + "/api/possum/recommend_query", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload) }).then(function(res){ if(res.ok){ return res.json(); } }); } fetchCart() { return fetch(`/api/cart/cart-select?r=${Math.random().toString(36).slice(-4)}`) .then((res) => { if (res.ok) { return res.json(); } }); } fetchRuleProductList(rule_id) { const payload = { page: 1, limit: 100, fields: ["title", "url", "image", "min_price_variant.price", "min_price_variant.compare_at_price"], rule_id: rule_id, }; if (this.show_type_ === 3) { payload.line_items = [{ product_id: this.product_resource_id_ }]; } else if (this.show_type_ === 4) { payload.collection_id = this.collection_resource_id_; } else if (this.show_type_ === 6) { payload.line_items = this.cart_items_; } else if (this.show_type_ === 7) { payload.customer_id = this.customer_id_; } else if (this.show_type_ === 8) { payload.order_id = this.order_id_; } return fetch(window.SHOPLAZZA.routes.root + "/api/possum/recommend_products", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload) }).then(function(res){ if(res.ok){ return res.json(); } }).catch(function(err){ console.log(err); }); } fetchProductData(product_id) { return fetch(window.SHOPLAZZA.routes.root + "/api/possum/products", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ product_ids: [product_id], fields: [ "images", "options", "min_price_variant", "variants"] }) }).then(function(res){ if(res.ok){ return res.json(); } }).catch(function(err){ console.log(err); const loadingEl = document.getElementById('smart_recommend_loading'); if (loadingEl) { loadingEl.style.display = 'none'; } }); } getStyle(ele, style) { if (!ele) return; if (window.getComputedStyle) { return window.getComputedStyle(ele)[style]; } return ele.currentStyle[style]; } directTo(id, direction) { const scrollElement = document.getElementById(`smart_recommend_rule_ul_${id}`); const blockWidth = parseInt(this.getStyle(scrollElement, 'width')); const scrollLength = (blockWidth * 0.19 - 12) * 5; const scrollPoint = scrollElement.scrollWidth - scrollElement.clientWidth; if (!scrollElement) return; if (direction === 'left') { if (document.dir === 'rtl') { scrollElement.scrollTo({ left: Math.abs(scrollElement.scrollLeft) >= scrollPoint - 100 ? 0 : scrollElement.scrollLeft - scrollLength, behavior: 'smooth' }); return; } scrollElement.scrollTo({ left: Math.max(scrollElement.scrollLeft - scrollLength, 0), behavior: 'smooth' }); } else { if (document.dir === 'rtl') { scrollElement.scrollTo({ left: Math.abs(scrollElement.scrollLeft) >= scrollPoint + 100 ? 0 : scrollElement.scrollLeft + scrollLength, behavior: 'smooth' }); return; } scrollElement.scrollTo({ left: scrollElement.scrollLeft >= scrollPoint - 100 ? 0 : scrollElement.scrollLeft + scrollLength, behavior: 'smooth' }); } } trackRuleImpress(rule) { if (window.sa && window.sa.track) { window.sa.track("plugin_common", { plugin_name: "upsell", event_type: "impressions", rule_id: rule.id, ssp: rule.ssp, scm: rule.scm, show_type: this.show_type_, support_app_block: window.SHOPLAZZA.theme.support_app_block }); window.sa.track("module_impressions", { aid: `smart_recommend.${this.show_type_}.${rule.id}`, support_app_block: window.SHOPLAZZA.theme.support_app_block }); } } trackQuickShop(data) { window.sa && sa.track && sa.track("plugin_common", { plugin_name: "upsell", event_type: "quick_shop", rule_id: data.rule_id, product_id: data.product_id, show_type: this.show_type_, }); } impressListen(selector, cb) { const el = document.querySelector(selector); const onImpress = (e) => { if (e) { e.stopPropagation(); } cb(); }; if (el && !el.getAttribute('imprsd')) { el.addEventListener('impress', onImpress) } else if (el) { onImpress(); } } } SPZ.defineElement('spz-custom-smart-block', SpzSmartBlockComponent);