Filter:
Filter Reset
Geslacht
0 geselecteerd Reset
toon producten
Voor hoeveel?
0 geselecteerd Reset
toon producten
Voor wie?
0 geselecteerd Reset
toon producten
Welke thema's?
0 geselecteerd Reset
toon producten
Filter ( )
Sorteren
Sorteren
Hoogste prijs eerst Laagste prijs eerst Nieuw Aanbevolen Top products sorting Bestseller
64 producten
64 producten
Aanzicht
Gepersonaliseerde LED Lamp Hart met Naam
Omdat elk hart hiervan gaat stralen.
Aperol Spritz Glas met Naam Gegraveerd
Je eigen glas, speciaal voor aperitieven.
Gepersonaliseerde LED Lamp met Naam
Een kamer wordt donker, een naam licht op.
Gepersonaliseerde Deurmat met Naam Kokosvezel
Dit en meer voor de ingang van het huis.
LED lamp met belangrijke data
Zo hoef je nooit meer vrouwlief’s geboortedatum vergeten…
Lillet Glas Gegraveerd met Naam
Favoriete glas voor je favoriete drankje.
Personaliseerbare veldfles vintage
Het beste jaartal.
Gepersonaliseerde LED Lamp Filmklapper
Tekst geschreven? en... Actie!
Gepersonaliseerde Glazen Vaas met Tekst en Bloemenmotief
Bloemen buiten en nu ook binnen.
Aperol Spritz Glas Gegraveerd
Het gepersonaliseerde glas voor de persoonlijke co*cktail
Wijnglas met Monogram en Naam
Een bokaal voor je wijn.
Gepersonaliseerde Houten Sleutelhanger met Tekst
Voor een gepersonaliseerde sleutelhanger.
Gepersonaliseerde bierpul met tekst en symbool
Voor de beste alleen het beste.
Gepersonaliseerde Houten Baardkam
Om de baard mooi te trimmen
Gepersonaliseerd Bierglas met Naam Loading
Daar komt je bier en eigen bierglas aan.
Whiskyglas met Jaartal Gravure
Voor gedenkwaardige jaargangen.
LED-Lamp Rond met Tekst
Een heldere, romantische en veelzijdige decoratie.
Wijnglas met Naam
Om te zeggen van wie en hoeveel.
Lunchbox met Tekst Gepersonaliseerd
Voor gepersonaliseerde maaltijden
Gepersonaliseerde drinkbeker met rietje en tekst
Voor een lekker drankje onderweg.
Gepersonaliseerde veldfles met symbool en tekst
Uniek en altijd bij de hand.
Gepersonaliseerde veldfles met monogram
Veldfles met persoonlijkheid.
Gepersonaliseerd champagneglas met kroon en naam
Een heel speciaal glaasje.
Gepersonaliseerde koffie beker met monogram
Door jou ontworpen, door ons gegraveerd.
Gepersonaliseerde koffie beker met naam
Jouw naam op een chic design.
Vaas Felicitatie Verjaardag
Complimenteer het bloemen cadeau geven
Whiskyglas met gravure
Met geestige tekst voor inspirerende drankjes.
Gepersonaliseerd Bierglas met Naam Gegraveerd
Van nu af aan, ieder zijn eigen bierglas.
Gepersonaliseerde Flesopener met Tekst
Flessen openen in stijl.
Gepersonaliseerd glas met naam en symbool
Voor (bijna) alle drankjes.
Gepersonaliseerd wijnglas met initialen en symbool
Voor het persoonlijke genot.
Personaliseerbare veldfles met tekst
Een vlot gezegde, en een lekkere inhoud.
Gepersonaliseerd Whiskyglas met Monogram
Geschikt voor de lady en lord die een monogram verdienen.
Wijnglas met Tekst
Persoonlijke noot, volumineus in de afdronk.
Champagne Glas Huwelijk Gepersonaliseerd met Tekst
Voor bruiloften, trouwdagen, jubilea en ondertrouw gaan om uniek te proosten .
Cognac Glas met Naam Graveren
Eindelijk! Een gepersonaliseerd glasmet jouw naam
Gepersonaliseerd Negroni glas
Voor het klassieke aperitief uit Florence.
Gepersonaliseerde LED lamp hartje met handen en namen
Een hele romantische lichtbron.
Gepersonaliseerd wijnglas King en Queen
Heel koninklijk gegraveerd.
Gepersonaliseerde bierpul bier tank
Het is tijd om bij te tanken.
Gin Tonic Glas met Naam Gegraveerd
Van een beetje tot normaal tot heel veel.
Champagne Glas Gepersonaliseerd met Monogram
Gepersonaliseerde bubbels!
Gepersonaliseerd co*cktailglas met tekst
Net zo uniek als jouw lievelings co*cktail.
Gepersonaliseerd Campari glas
Hoe je de campari ongeveer maakt.
Gepersonaliseerde bierpul superheld
Een bierpul voor helden.
Gepersonaliseerde veldfles met initialen en tekst
Door ons gegraveerd.
Personaliseerbare veldfles met initialen
Coole drinkfles voor 2.
LED Lamp Reclamebord Design
Een LED-lamp om reclame te maken voor onze dierbaren.
Gin Tonic Glas met Tekst Gegraveerd
Voor een zeer opgewekte boodschap...
Cognac glas met Kroon Graveren
Gepersonaliseerd congnac glas met kroon, naam en tekst
Gepersonaliseerd whisky glas met tekst
Een goed glas voor een goed glas whisky.
Gepersonaliseerde koffie beker met quote
Koffie in eigen beker.
Gepersonaliseerde koffie beker met symbool en tekst
Voor de ochtend koffie.
Binnenkort beschikbaar
Flessenhouder met tekst
Dus vanaf nu weet je wiens bier je drinkt.
Filter ( )
Sorteren
Sorteren
Hoogste prijs eerst Laagste prijs eerst Nieuw Aanbevolen Top products sorting Bestseller
64 producten
64 producten
Wij bezorgen via deze website alleen in
Ja, ik wil naar verzenden
Nee, ik wil naar verzenden
We leveren in 242 landen, maak je keuze hier
Waar wil je dat we je bestelling naartoe sturen?
Terug
'; productList.after(div); this.replaceWithUpdate( data.bottomCmsBlock, this.qs('.amshopby-filters-bottom-cms'), 'amshopby-filters-bottom-cms' ); } if (!data.categoryProducts || data.categoryProducts.indexOf('block-filter-top') === -1) { if (!this.qs(this.selectors.top_navigation)) { const navNode = document.createElement('div'), topNavNode = document.createElement('div'), maincontent = this.qs('.column.main'); let childNode; navNode.className = 'catalog-topnav amasty-catalog-topnav'; topNavNode.className = 'block-filter-top'; navNode.appendChild(topNavNode); if (this.qs('.search.results')) { childNode = this.qs('.search.results'); } else { childNode = this.qs('#amasty-shopby-product-list'); } if (childNode.parentElement !== maincontent) { return; } maincontent.insertBefore(navNode, childNode); } this.replaceWithUpdate( data.navigationTop, this.qs(this.selectors.top_navigation), 'top_navigation' ); } }, replaceWithUpdate(content, $element, className) { if (content && $element) { const parent = $element.parentNode, regex = /
'+ ''; if (this.qs('.amwidget-children-categories')) { childNode = this.qs('.amwidget-children-categories').parentNode; } maincontent.insertBefore(catNode, childNode); } } const imageElement = this.qs('.category-image'), descrElement = this.qs('.category-description'); if (data.image) { this.replaceWithUpdate( data.image, imageElement, 'category-image' ); } else { if (imageElement) { imageElement.innerHTML = ''; } } if (data.description) { this.replaceWithUpdate( data.description, descrElement, 'category-description' ); } else { if (descrElement) { descrElement.innerHTML = ''; } } this.qs('title').innerHTML = data.title; if (data.categoryData) { let categoryViewSelector = '.category-view'; const nodeT = document.createElement('div'); nodeT.innerHTML = data.categoryData; this.qs(categoryViewSelector).innerHTML = ''; this.replaceWithUpdate( nodeT.querySelector(categoryViewSelector).innerHTML, this.qs(categoryViewSelector + ' div'), 'category-view-data' ); } }, /** * @public * @return {Object} */ getProductBlock() { let $productsWrappers = this.qsa(this.selectors.products_wrapper), $productsWrapper = $productsWrappers[$productsWrappers.length - 1]; if ($productsWrapper.closest('.search.results')) { $productsWrapper = $productsWrapper.closest('.search.results'); } return $productsWrapper; }, scrollUpEvent() { const productList = this.qs(this.selectors.products_wrapper), topNavBlock = this.qs(this.selectors.top_nav); if (this.scrollUp && productList) { const top = this.scrollUp === 1 ? (topNavBlock ? topNavBlock.offsetTop : productList.offsetTop) : 0; window.scrollTo({ top: top, behavior: 'smooth' }) } }, moveTopFiltersToSidebar() { if (!this.qs(this.selectors_top_filters.sidebarList)) { const blockClass = this.qs(this.selectors_top_filters.layeredFilter) ? this.selectors_top_filters.layeredFilter : this.selectors_top_filters.blockFilter, $element = document.querySelector(this.selectors.topNav + ' ' + blockClass); if ($element) { const $sidebar = this.qs(this.selectors_top_filters.sidebar), filterOptions = $element.querySelectorAll('.filter-option'); filterOptions.forEach(filter => { const el = filter.cloneNode(true), input = el.querySelector('[type="radio"], [type="checkbox"]'); if (input) { const name = input.getAttribute('name'); el.classList.add('from-top'); if (!$sidebar.querySelectorAll('[name="'+ name +'"]').length) { $sidebar.querySelector('#layered-filter-block-content').append(el); } } }); } return; } }, /** * @public * @returns {void} */ removeTopFiltersFromSidebar() { const $sidebar = this.qs(this.selectors_top_filters.sidebar); if ($sidebar) { $sidebar.querySelectorAll('.from-top').forEach(filter => { filter.remove(); }); } }, qs(selector) { return document.querySelector(selector); }, qsa(selector) { return document.querySelectorAll(selector); }, stopEvents(e) { e.stopPropagation(); e.preventDefault(); }, serializeForm(form) { const data = new FormData(form) let array = []; for (let [key, value] of data) { array.push({ name: key, value: value }); } return array; }, excludingElement(elements, excluded) { let clearing = [], excludedSelector = this.qs(excluded); elements.forEach(element => { if (element !== excludedSelector) { clearing.push(element); } }); return clearing; }, /** * @public * @param {String} text * @return {String} */ escapeHtml(text) { var map = { '&': '&', '<': '<', '>': '>', '"': '"', "'": ''' }; return text.replace(/[&<>"']/g, (m) => { return map[m]; }); }, /** * @public * @param {String} link * @param {Boolean} [clearFilter] * @return {void} */ apply(link, clearFilter) { let linkParam; try { this.options.isAjax = false; linkParam = clearFilter ? link : null; link = this.element?.closest('.price-ranges') && link.includes('?') ? link + '&price-ranges=1' : link; if (!this.options.collectFilters && this.options.isAjax === true) { this.prepareTriggerAjax(this.element, linkParam, clearFilter); } else { if (this.options.collectFilters === 1) { this.prepareTriggerAjax(this.element, linkParam); } else { window.location = link; } } } catch (e) { console.error(e); window.location = link; } }, fixDubbleValue(link) { let input = link.closest('div').querySelector('input'); if (this.qsa('*[value="'+input.value+'"][name="'+input.getAttribute('name')+'"]').length > 1) { this.qsa('*[value="'+input.value+'"][name="'+input.getAttribute('name')+'"]').forEach(filter => { if (filter !== input) { if (filter.getAttribute('type') === 'radio') { filter.closest('.am-filter').querySelectorAll('input').forEach(option => { option.checked = false; }); } else { filter.checked = false; } } }); } if (input.getAttribute('type') !== 'radio' && !input.checked && !this.submitByClick) { let value = input.getAttribute('value'), name = input.getAttribute('name').replace('amshopby[',''); name = name.replace('][]', ''); let removeItem = this.qs('.amshopby-remove-item[data-container="'+ name +'"][data-value="'+ value +'"]'); if (removeItem) { removeItem.remove(); } } }, setSwatchToProducts(swatchId, attributeID) { setTimeout(() => { const productList = document.getElementById('amasty-shopby-product-list'); if (productList) { const swatches = productList.querySelectorAll('[name="super_attribute['+ attributeID +']"][value="' + swatchId + '"]'), event = new Event('change'); swatches.forEach(swatch => { if (!swatch.checked) { swatch.dispatchEvent(event); } }); } }, 1500); }, setSwatchMassToProducts(swatchIds, attributeID) { const swatches = swatchIds.split(','); this.massSwatchSet(swatches, attributeID); window.onload = () => { setTimeout(() => { this.massSwatchSet(swatches, attributeID); }, 1000); } }, massSwatchSet(swatches, attributeID) { swatches.map(swatch => { this.setSwatchToProducts(swatch, attributeID); }); }, insertAfter(newNode, existingNode) { existingNode.parentNode.insertBefore(newNode, existingNode.nextSibling); }, removeInputByName(input) { let name = input.getAttribute('name').replace('amshopby[',''); name = name.replace('][]', ''); this.qs('.amshopby-remove-item[data-container="'+ name +'"]').remove(); }, eventListeners: { ['@amshopby-submit-filters.window'](event) { let self = this, data = event.detail.data, clearUrl = self.options.clearUrl, isSorting = event.detail.isSorting, pushState = !self.submitByClick; if (typeof data.clearUrl !== 'undefined') { clearUrl = data.clearUrl; delete data.clearUrl; } if (self.prevCall) { this.controller.abort(); this.signal = null; this.controller = new AbortController(); this.signal = this.controller.signal; } let dataAndUrl = data.slice(0); dataAndUrl.push(clearUrl ? clearUrl : self.clearUrl); const cacheKey = JSON.stringify(dataAndUrl); self.cacheKey = cacheKey; if (self.cached[cacheKey]) { let response = self.cached[cacheKey]; if (pushState || isSorting) { if (response.newClearUrl && response.newClearUrl.indexOf('?p=') == -1 && response.newClearUrl.indexOf('&p=') == -1 ) { self.options.clearUrl = response.newClearUrl; } window.history.pushState({url: response.url}, '', response.url); self.reloadHtml(response); } else { window.dispatchEvent(new CustomEvent('amApplyButtonData', { detail: { count: response.productsCount, disabled: false } })); } return; } self.prevCall = self.callAjax(clearUrl, data, pushState, cacheKey, isSorting); }, ['@amSliderValuesUpdated.window'](event) { this.apply(event.detail.searchParams); }, ['@amApplyButton.window'](event) { let valid = true, element = event.detail.element, navigationSelector = event.detail.navigationSelector, navigation = element.closest(navigationSelector), cachedValues = this.cached[this.cacheKey], cachedKey = this.response, response = cachedValues ? cachedValues : cachedKey; if (!response) { if (this.startAjax) { this.showButtonClick = true; this.isLoading = true; window.dispatchEvent(new CustomEvent('amApplyButtonData', { detail: { count: '', disabled: true } })); return; } else { return; } } if (response.isDisplayModePage || (!this.isAjaxSettingEnabled && this.submitByClick)) { window.location.href = response.url; return; } if (valid && response) { window.dispatchEvent(new CustomEvent('amApplyButtonData', { detail: { count: '', disabled: false } })); window.history.pushState({url: response.url}, '', response.url); this.reloadHtml(response); this.response = false; this.showButtonClick = false; } window.onpopstate = function () { location.reload(); }; }, ['@amRemoveElement.window'](event) { const link = event.detail.element; if (this.isAjax) { const currentFilterItem = link.closest('.amshopby-remove-item'), filter = { attribute: currentFilterItem.getAttribute('data-container'), value: this.escapeHtml(currentFilterItem.getAttribute('data-value')) }; this.currentFilters.push(filter); this.element = undefined; try { window.dispatchEvent( new CustomEvent( 'amSetButtonPosition', { detail: { element: link } } ) ); this.setDefault(filter.attribute, filter.value); if (!this.submitByClick) { link.closest('.amshopby-remove-item').remove(); } this.prepareTriggerAjax(null, null, true); } catch (e) { console.error(e) window.location = link.getAttribute('href'); } } else { window.location.href = link.getAttribute('href'); } }, ['@amSwatchClick.window'](event) { const link = event.detail.element; if (this.isAjax) { const href = link.getAttribute('href'), input = link.closest('div').querySelector('input'); this.element = link; input.checked = !input.checked; if (input.getAttribute('type') === 'radio') { let ring = link.closest('.am-shopby-form').querySelector('.ring'); if (ring) { this.setSwatchBorder(ring); if (!this.submitByClick) { this.removeInputByName(input); } if (input.checked) { this.setSwatchBorder(link); } } else { this.setSwatchBorder(link); } } else { this.setSwatchBorder(link); } if (this.isFinderAndCategory(link)) { location.href = href; return; } setTimeout(() => { this.fixDubbleValue(link); window.dispatchEvent( new CustomEvent( 'amSetButtonPosition', { detail: { element: link } } ) ); this.apply(href); }, 10); } else { window.location.href = link.getAttribute('href'); } }, ['@amFilterElementClick.window'](event) { let filterElement = event.detail.element; if (!filterElement.classList.contains('item')) { filterElement = filterElement.closest('div'); } const checkbox = filterElement.querySelector('input'), checkboxLink = filterElement.querySelector('a'), href = checkboxLink.getAttribute('href'); if (!this.submitByClick && checkbox.checked && checkbox.getAttribute('type') === 'radio') { this.removeInputByName(checkbox); } this.element = checkboxLink; setTimeout(() => { this.fixDubbleValue(checkboxLink); window.dispatchEvent( new CustomEvent( 'amSetButtonPosition', { detail: { element: checkboxLink } } ) ); if (this.isFinderAndCategory(checkbox)) { location.href = href; return; } this.apply(href); }, 10); }, ['@googleTag.window'](e) { } } } }