Customers: +49 176 5771 2004

happy upbeads Holzperlenkette cellphone chain bunte handykette holzperlen beads upbiz
upbeads Happy Holzperlen Handykette cellphone chain bunte Holzperlenkette upbeats upbeat Holzkugeln wooden beads
upbeads Happy Holzperlen Handykette cellphone chain bunte Holzperlenkette upbeats upbeat Holzkugeln wooden beads
upbeads Happy Holzperlen Handykette cellphone chain bunte Holzperlenkette upbeats upbeat Holzkugeln wooden beads
upbeads Happy Holzperlen Handykette cellphone chain bunte Holzperlenkette upbeats upbeat Holzkugeln wooden beads
快樂的
upbeads Happy Holzperlen Handykette cellphone chain bunte Holzperlenkette upbeats upbeat Holzkugeln wooden beads
upbeads Happy Holzperlen Handykette cellphone chain bunte Holzperlenkette upbeats upbeat Holzkugeln wooden beads
upbeads Happy Holzperlen Handykette cellphone chain bunte Holzperlenkette upbeats upbeat Holzkugeln wooden beads

快樂的

Regular price
€59,00
Sale price
€59,00
Tax included. Shipping calculated at checkout.

從可持續森林的木珠在德國。 

無毒。

在德國手工製作。

可以作為斜挎包穿著,有2種尺寸可供選擇。

 

對於每條購買的鏈,我們都種一棵樹並支持Syngap腦研究。

const selectVariantByClickingImage = { // Create variant images from productJson object _createVariantImage: function (product) { const variantImageObject = {}; product.variants.forEach((variant) => { if ( typeof variant.featured_image !== 'undefined' && variant.featured_image !== null ) { const variantImage = variant.featured_image.src .split('?')[0] .replace(/http(s)?:/, ''); variantImageObject[variantImage] = variantImageObject[variantImage] || {}; product.options.forEach((option, index) => { const optionValue = variant.options[index]; const optionKey = `option-${index}`; if ( typeof variantImageObject[variantImage][optionKey] === 'undefined' ) { variantImageObject[variantImage][optionKey] = optionValue; } else { const oldValue = variantImageObject[variantImage][optionKey]; if (oldValue !== null && oldValue !== optionValue) { variantImageObject[variantImage][optionKey] = null; } } }); } }); return variantImageObject; }, _updateVariant: function (event, id, product, variantImages) { const arrImage = event.target.src .split('?')[0] .replace(/http(s)?:/, '') .split('.'); const strExtention = arrImage.pop(); const strRemaining = arrImage.pop().replace(/_[a-zA-Z0-9@]+$/, ''); const strNewImage = `${arrImage.join('.')}.${strRemaining}.${strExtention}`; if (typeof variantImages[strNewImage] !== 'undefined') { product.variants.forEach((option, index) => { const optionValue = variantImages[strNewImage][`option-${index}`]; if (optionValue !== null && optionValue !== undefined) { const selects = document.querySelectorAll('#'+ id + ' [class*=single-option-selector]'); const options = selects[index].options; for (let option, n = 0; (option = options[n]); n += 1) { if (option.value === optionValue) { selects[index].selectedIndex = n; selects[index].dispatchEvent(new Event('change')); break; } } } }); } }, _selectVariant: function() { const productJson = document.querySelectorAll('[id^=ProductJson-'); if (productJson.length > 0) { productJson.forEach((product) => { const sectionId = product.id.replace("ProductJson-", "shopify-section-"); const thumbnails = document.querySelectorAll('#'+ sectionId + ' img[src*="/products/"]'); if (thumbnails.length > 1) { const productObject = JSON.parse(product.innerHTML); const variantImages = this._createVariantImage(productObject); // need to check variants > 1 if (productObject.variants.length > 1) { thumbnails.forEach((thumbnail) => { thumbnail.addEventListener('click', (e) => this._updateVariant(e, sectionId, productObject, variantImages), ); }); } } }); } }, }; if (document.readyState !== 'loading') { selectVariantByClickingImage._selectVariant(); } else { document.addEventListener( 'DOMContentLoaded', selectVariantByClickingImage._selectVariant(), ); }