Livraison gratuite pour les commandes supérieures à 50 euros.
nol 5d diy spcial forme partie forez diamant fait main cartes de voeux
nol 5d diy spcial forme partie forez diamant fait main cartes de voeux
nol 5d diy spcial forme partie forez diamant fait main cartes de voeux
nol 5d diy spcial forme partie forez diamant fait main cartes de voeux
nol 5d diy spcial forme partie forez diamant fait main cartes de voeux
nol 5d diy spcial forme partie forez diamant fait main cartes de voeux
nol 5d diy spcial forme partie forez diamant fait main cartes de voeux
nol 5d diy spcial forme partie forez diamant fait main cartes de voeux
nol 5d diy spcial forme partie forez diamant fait main cartes de voeux
nol 5d diy spcial forme partie forez diamant fait main cartes de voeux
nol 5d diy spcial forme partie forez diamant fait main cartes de voeux
nol 5d diy spcial forme partie forez diamant fait main cartes de voeux
nol 5d diy spcial forme partie forez diamant fait main cartes de voeux
nol 5d diy spcial forme partie forez diamant fait main cartes de voeux
nol 5d diy spcial forme partie forez diamant fait main cartes de voeux
nol 5d diy spcial forme partie forez diamant fait main cartes de voeux
nol 5d diy spcial forme partie forez diamant fait main cartes de voeux
nol 5d diy spcial forme partie forez diamant fait main cartes de voeux
nol 5d diy spcial forme partie forez diamant fait main cartes de voeux
1 / 19
nol 5d diy spcial forme partie forez diamant fait main cartes de voeux
nol 5d diy spcial forme partie forez diamant fait main cartes de voeux
nol 5d diy spcial forme partie forez diamant fait main cartes de voeux
nol 5d diy spcial forme partie forez diamant fait main cartes de voeux
nol 5d diy spcial forme partie forez diamant fait main cartes de voeux
nol 5d diy spcial forme partie forez diamant fait main cartes de voeux
nol 5d diy spcial forme partie forez diamant fait main cartes de voeux
nol 5d diy spcial forme partie forez diamant fait main cartes de voeux
nol 5d diy spcial forme partie forez diamant fait main cartes de voeux
nol 5d diy spcial forme partie forez diamant fait main cartes de voeux
nol 5d diy spcial forme partie forez diamant fait main cartes de voeux
nol 5d diy spcial forme partie forez diamant fait main cartes de voeux
nol 5d diy spcial forme partie forez diamant fait main cartes de voeux
nol 5d diy spcial forme partie forez diamant fait main cartes de voeux
nol 5d diy spcial forme partie forez diamant fait main cartes de voeux
nol 5d diy spcial forme partie forez diamant fait main cartes de voeux
nol 5d diy spcial forme partie forez diamant fait main cartes de voeux
nol 5d diy spcial forme partie forez diamant fait main cartes de voeux
nol 5d diy spcial forme partie forez diamant fait main cartes de voeux
33% OFF

nol 5d diy spcial forme partie forez diamant fait main cartes de voeux

€15.99 €24.03

397215

Quantité 58 Stock
Santa Claus 5D DIY Special Shaped Diamond Painting Greeting Card Part Drill Christmas Birthday Christmas Diamond Handmade Cards Broderie Kits
Spécification:
Matériau: Diamant résine de haute qualité + Carton
Type de diamant : Diamant spécial de forme de pièce de perceuse
Taille du produit: 15 X 15cm/5.91 X 5.91 » (après pliage de la carte de voeux en deux)
Taille d’emballage: 300 X 150 X 30mm/11.81 X 5.91 X 1.18 »
Poids du produit: 230g
Modèle:HK102

Diy Diamond Painting Étapes:
1. Ouvrez la case et vérifiez les outils spéciaux pour la peinture au diamant.
2. Vérifiez la couleur des diamants de résine et arrangez-les par ordre de codage.
3. Découvrez l’image de bande ci-dessus, vous verrez de nombreux symboles correspondant au codage de couleur.
4. Diamants incrustations selon la résine correspondante de l’appareil de couleur codé correspondant.
5. Il est recommandé de compléter un ensemble de diamants de résine plus rapidement.
6. Afin de faire une peinture parfaite de diamant, mettez le dessin en un seul endroit, et vous n'avez pas besoin de laisser des diamants dans chaque ligne de symboles.
7. Pour couper une bonne figure sur le dessin, veuillez installer le tableau de tri sur le plan du matériau ci-dessus.
8. L’épissage doit être plat, soigné et sans fissures.
9. Après un bon combat, les lacunes de colle restantes se conforment au symbole de diamant.

Note:
1. C’est la peinture de diamant de DIY. Ce n’est pas fini. Tu dois le faire toi-même.
2. En raison de l’effet de moniteur et de lumière différents, la couleur réelle de l’élément pourrait être légèrement différente de la couleur montrée sur les images. Merci!
3. Veuillez autoriser une déviation de mesure de 1 à 2 cm due à la mesure manuelle.

Contenu du package :
8 X Carton diamant
Enveloppe de carte de vœux 8 X
1 X Diamond Drawing Tools (Jelly Glue, Drill Pen, Speed-Up Plate, Drill Bag)


8 X Diamond Cardboard
8 X Greeting Card Envelope
1 X Diamond Drawing Tools (Jelly Glue, Drill Pen, Speed-Up Plate, Drill Bag)
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('appzebu 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 }); }); }); 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);