☰
Menü
×
Serien
Alpha
Alpha Olive
Alpha Fasseiche
Alpha Birne
Alpha Walnuss
Alpha White Micarta
Briccole di Venezia
Kappa
Caminada
The Knife
Synchros
Delta Grenadill
Franz Güde
Karl Güde
Damaststahl-Messer
Universalmesser
Sonderserien
Messertypen
Messer-Sets
Ausbeinmesser
Brotmesser
Brotmesser Linkshänder
Buckels
Buntschneidemesser
Chai Dao Kochmesser
China Kochmesser
Fleischgabel
Fleischmesser
Filiermesser
Gemüsemesser
Hackmesser
Jagdmesser
Käsemesser
Kiritsuke
Kochmesser
Kräutermesser
Lachsmesser
Nakiri
Santoku
Schinkenmesser
Spickmesser
Taschenmesser
Universalmesser
Wetzstahl
Blocksets
Zubehör
Magnetleiste
Messerblock
Messertasche
Klingenschützer
Pflege
Wetzstähle
Schneidbretter
Bücher
Textilien
Kaffee
Gutscheine
Service
Gutscheine
Gratis Zugaben
Wunschliste
Versand- / Zahlweisen
Rücksendungen
Warenkorb
Kontakt
Anmelden
Registrieren
Serien
Alpha
Alpha Olive
Alpha Fasseiche
Alpha Birne
Alpha Walnuss
Alpha White Micarta
Briccole di Venezia
Kappa
Caminada
The Knife
Synchros
Delta Grenadill
Franz Güde
Karl Güde
Damaststahl-Messer
Universalmesser
Sonderserien
Messertypen
Messer-Sets
Ausbeinmesser
Brotmesser
Brotmesser Linkshänder
Buckels
Buntschneidemesser
Chai Dao Kochmesser
China Kochmesser
Fleischgabel
Fleischmesser
Filiermesser
Gemüsemesser
Hackmesser
Jagdmesser
Käsemesser
Kiritsuke
Kochmesser
Kräutermesser
Lachsmesser
Nakiri
Santoku
Schinkenmesser
Spickmesser
Taschenmesser
Universalmesser
Wetzstahl
Blocksets
Zubehör
Magnetleiste
Messerblock
Messertasche
Klingenschützer
Pflege
Wetzstähle
Schneidbretter
Bücher
Textilien
Kaffee
Gutscheine
Service
Gutscheine
Gratis Zugaben
Wunschliste
Versand- / Zahlweisen
Rücksendungen
Warenkorb
Kontakt
Anmelden
Registrieren
Anmelden
Anmelden
Registrieren
0
if(!document.getElementById('paypal-smart-payment-script')) { var script = document.createElement("script"); script.type = "module"; script.id = "paypal-smart-payment-script"; script.src = "https://cdn02.plentymarkets.com/nsfenjcurszi/plugin/131/paypal/js/smartPaymentScript.min.js"; script.setAttribute("data-client-id", "AfslQana4f4CQjHvRBnUc6vBJg5jgJuZFwM-SbrTiGKUAqB7MrxQv3QWFdQ6U1h7ogMDokT1DNBzRxMw"); script.setAttribute("data-user-id-token", ""); script.setAttribute("data-merchant-id", "KQ9VDNA6T5T9Q"); script.setAttribute("data-currency", "EUR"); script.setAttribute("data-append-trailing-slash", ""); script.setAttribute("data-locale", "de_DE"); script.setAttribute("sandbox", ""); script.setAttribute("googlePayComponent", 1); script.setAttribute("applePayComponent", 1); script.setAttribute("logToken", "b970b73f8f6c9a2cc2b408a37f0d12bd"); document.body.appendChild(script); } else { var script = document.getElementById('paypal-smart-payment-script'); script.src = "https://cdn02.plentymarkets.com/nsfenjcurszi/plugin/131/paypal/js/smartPaymentScript.min.js"; script.setAttribute("data-client-id", "AfslQana4f4CQjHvRBnUc6vBJg5jgJuZFwM-SbrTiGKUAqB7MrxQv3QWFdQ6U1h7ogMDokT1DNBzRxMw"); script.setAttribute("data-user-id-token", ""); script.setAttribute("data-merchant-id", "KQ9VDNA6T5T9Q"); script.setAttribute("data-currency", "EUR"); script.setAttribute("data-append-trailing-slash", ""); script.setAttribute("data-locale", "de_DE"); script.setAttribute("sandbox", ""); script.setAttribute("googlePayComponent", 1); script.setAttribute("applePayComponent", 1); script.setAttribute("logToken", "b970b73f8f6c9a2cc2b408a37f0d12bd"); }
if (typeof paypal_plenty_sdk === 'undefined' || typeof renderPayPalButtons !== 'function') { document.addEventListener('payPalScriptInitialized', () => { renderPayPalButtons('6983521cc554a', 'paypal', 'paypal', 'rect', 'gold'); }); } else { renderPayPalButtons('6983521cc554a', 'paypal', 'paypal', 'rect', 'gold'); }
☰
0
if(!document.getElementById('paypal-smart-payment-script')) { var script = document.createElement("script"); script.type = "module"; script.id = "paypal-smart-payment-script"; script.src = "https://cdn02.plentymarkets.com/nsfenjcurszi/plugin/131/paypal/js/smartPaymentScript.min.js"; script.setAttribute("data-client-id", "AfslQana4f4CQjHvRBnUc6vBJg5jgJuZFwM-SbrTiGKUAqB7MrxQv3QWFdQ6U1h7ogMDokT1DNBzRxMw"); script.setAttribute("data-user-id-token", ""); script.setAttribute("data-merchant-id", "KQ9VDNA6T5T9Q"); script.setAttribute("data-currency", "EUR"); script.setAttribute("data-append-trailing-slash", ""); script.setAttribute("data-locale", "de_DE"); script.setAttribute("sandbox", ""); script.setAttribute("googlePayComponent", 1); script.setAttribute("applePayComponent", 1); script.setAttribute("logToken", "b970b73f8f6c9a2cc2b408a37f0d12bd"); document.body.appendChild(script); } else { var script = document.getElementById('paypal-smart-payment-script'); script.src = "https://cdn02.plentymarkets.com/nsfenjcurszi/plugin/131/paypal/js/smartPaymentScript.min.js"; script.setAttribute("data-client-id", "AfslQana4f4CQjHvRBnUc6vBJg5jgJuZFwM-SbrTiGKUAqB7MrxQv3QWFdQ6U1h7ogMDokT1DNBzRxMw"); script.setAttribute("data-user-id-token", ""); script.setAttribute("data-merchant-id", "KQ9VDNA6T5T9Q"); script.setAttribute("data-currency", "EUR"); script.setAttribute("data-append-trailing-slash", ""); script.setAttribute("data-locale", "de_DE"); script.setAttribute("sandbox", ""); script.setAttribute("googlePayComponent", 1); script.setAttribute("applePayComponent", 1); script.setAttribute("logToken", "b970b73f8f6c9a2cc2b408a37f0d12bd"); }
if (typeof paypal_plenty_sdk === 'undefined' || typeof renderPayPalButtons !== 'function') { document.addEventListener('payPalScriptInitialized', () => { renderPayPalButtons('6983521cc74cd', 'paypal', 'paypal', 'rect', 'gold'); }); } else { renderPayPalButtons('6983521cc74cd', 'paypal', 'paypal', 'rect', 'gold'); }
Serien
Alpha
Alpha Olive
Alpha Fasseiche
Alpha Birne
Alpha Walnuss
Alpha White Micarta
Briccole di Venezia
Kappa
Caminada
The Knife
Synchros
Delta Grenadill
Franz Güde
Karl Güde
Damaststahl-Messer
Universalmesser
Sonderserien
Messertypen
Messer-Sets
Ausbeinmesser
Brotmesser
Brotmesser Linkshänder
Buckels
Buntschneidemesser
Chai Dao Kochmesser
China Kochmesser
Fleischgabel
Fleischmesser
Filiermesser
Gemüsemesser
Hackmesser
Jagdmesser
Käsemesser
Kiritsuke
Kochmesser
Kräutermesser
Lachsmesser
Nakiri
Santoku
Schinkenmesser
Spickmesser
Taschenmesser
Universalmesser
Wetzstahl
Blocksets
Zubehör
Magnetleiste
Messerblock
Messertasche
Klingenschützer
Pflege
Wetzstähle
Schneidbretter
Bücher
Textilien
Kaffee
Gutscheine
Service
Gutscheine
Gratis Zugaben
Wunschliste
Versand- / Zahlweisen
Rücksendungen
Warenkorb
Kontakt
Anmelden
Registrieren
Service
Gutscheine
Gratis Zugaben
Wunschliste
Versand- / Zahlweisen
Rücksendungen
Warenkorb
Kontakt
Konto
Anmelden
Anmelden
Registrieren
☰
Serien
Alpha
Alpha Olive
Alpha Fasseiche
Alpha Birne
Alpha Walnuss
Alpha White Micarta
Briccole di Venezia
Kappa
Caminada
The Knife
Synchros
Delta Grenadill
Franz Güde
Karl Güde
Damaststahl-Messer
Universalmesser
Sonderserien
Messertypen
Messer-Sets
Ausbeinmesser
Brotmesser
Brotmesser Linkshänder
Buckels
Buntschneidemesser
Chai Dao Kochmesser
China Kochmesser
Fleischgabel
Fleischmesser
Filiermesser
Gemüsemesser
Hackmesser
Jagdmesser
Käsemesser
Kiritsuke
Kochmesser
Kräutermesser
Lachsmesser
Nakiri
Santoku
Schinkenmesser
Spickmesser
Taschenmesser
Universalmesser
Wetzstahl
Blocksets
Zubehör
Magnetleiste
Messerblock
Messertasche
Klingenschützer
Pflege
Wetzstähle
Schneidbretter
Bücher
Textilien
Kaffee
Gutscheine
Service
Gutscheine
Gratis Zugaben
Wunschliste
Versand- / Zahlweisen
Rücksendungen
Warenkorb
Kontakt
Anmelden
Registrieren
0
if(!document.getElementById('paypal-smart-payment-script')) { var script = document.createElement("script"); script.type = "module"; script.id = "paypal-smart-payment-script"; script.src = "https://cdn02.plentymarkets.com/nsfenjcurszi/plugin/131/paypal/js/smartPaymentScript.min.js"; script.setAttribute("data-client-id", "AfslQana4f4CQjHvRBnUc6vBJg5jgJuZFwM-SbrTiGKUAqB7MrxQv3QWFdQ6U1h7ogMDokT1DNBzRxMw"); script.setAttribute("data-user-id-token", ""); script.setAttribute("data-merchant-id", "KQ9VDNA6T5T9Q"); script.setAttribute("data-currency", "EUR"); script.setAttribute("data-append-trailing-slash", ""); script.setAttribute("data-locale", "de_DE"); script.setAttribute("sandbox", ""); script.setAttribute("googlePayComponent", 1); script.setAttribute("applePayComponent", 1); script.setAttribute("logToken", "b970b73f8f6c9a2cc2b408a37f0d12bd"); document.body.appendChild(script); } else { var script = document.getElementById('paypal-smart-payment-script'); script.src = "https://cdn02.plentymarkets.com/nsfenjcurszi/plugin/131/paypal/js/smartPaymentScript.min.js"; script.setAttribute("data-client-id", "AfslQana4f4CQjHvRBnUc6vBJg5jgJuZFwM-SbrTiGKUAqB7MrxQv3QWFdQ6U1h7ogMDokT1DNBzRxMw"); script.setAttribute("data-user-id-token", ""); script.setAttribute("data-merchant-id", "KQ9VDNA6T5T9Q"); script.setAttribute("data-currency", "EUR"); script.setAttribute("data-append-trailing-slash", ""); script.setAttribute("data-locale", "de_DE"); script.setAttribute("sandbox", ""); script.setAttribute("googlePayComponent", 1); script.setAttribute("applePayComponent", 1); script.setAttribute("logToken", "b970b73f8f6c9a2cc2b408a37f0d12bd"); }
if (typeof paypal_plenty_sdk === 'undefined' || typeof renderPayPalButtons !== 'function') { document.addEventListener('payPalScriptInitialized', () => { renderPayPalButtons('6983521cc8c76', 'paypal', 'paypal', 'rect', 'gold'); }); } else { renderPayPalButtons('6983521cc8c76', 'paypal', 'paypal', 'rect', 'gold'); }
Sprache
Deutsch
Englisch
Lieferland
Finden
Wunschliste
Service
Wunschliste
Wunschliste
Alle Artikel in den Warenkorb
(() => { const bulkBtn = document.getElementById("pm-bulk-add"); if (!bulkBtn) return; // Selector-Liste: hier werden typische "Add to basket"-Buttons eingesammelt. // Je nach Template/Widget kann ein anderer Selector nötig sein. const ADD_TO_CART_SELECTORS = [ // sehr generisch (Buttons/Links mit passendem Text) – letzte Reserve 'button, a', // häufige data-Attribute/Classes (je nach plenty/Ceres/Theme unterschiedlich) '[data-add-to-basket]', '[data-testing="add-to-basket"]', '.add-to-basket', '.add-to-cart', '.btn-add-to-basket', '.basket-button' ]; const sleep = (ms) => new Promise(r => setTimeout(r, ms)); const isVisible = (el) => { if (!el) return false; const r = el.getBoundingClientRect(); return r.width > 0 && r.height > 0 && r.bottom >= 0 && r.top <= (window.innerHeight || document.documentElement.clientHeight); }; const looksLikeAddToCart = (el) => { // Nur echte Klick-Targets if (!(el instanceof HTMLElement)) return false; if (el.id === "pm-bulk-add") return false; if (el.disabled) return false; // Textheuristik als Fallback (de/en), damit 'button, a' nicht alles einsammelt const t = (el.innerText || "").trim().toLowerCase(); const okText = t === "in den warenkorb" || t.includes("in den warenkorb") || t.includes("warenkorb") || t.includes("add to cart") || t.includes("add to basket"); // Attribut/klasse ist stärker als Text const okAttr = el.matches('[data-add-to-basket], [data-testing="add-to-basket"], .add-to-basket, .add-to-cart, .btn-add-to-basket, .basket-button'); return okAttr || okText; }; const collectAddButtons = () => { // Sammeln über die Selector-Liste, dann deduplizieren const set = new Set(); for (const sel of ADD_TO_CART_SELECTORS) { document.querySelectorAll(sel).forEach(el => set.add(el)); } const arr = Array.from(set) .filter(looksLikeAddToCart) .filter(isVisible); // nur sichtbare: deckt den Fall ab, dass Listen virtualisiert sind return arr; }; const setBusy = (busy) => { bulkBtn.disabled = busy; bulkBtn.style.opacity = busy ? "0.7" : "1"; }; const clickSequentially = async (buttons) => { // sequenziell, damit Basket-Updates nicht kollidieren for (const btn of buttons) { // Element kann zwischenzeitlich neu gerendert werden if (!document.contains(btn)) continue; if (btn.disabled) continue; // Scroll in View, damit manche Handler (Intersection/virtual DOM) aktiv werden try { btn.scrollIntoView({ block: "center", inline: "nearest" }); } catch (_) {} await sleep(120); // echter Click btn.click(); // kurze Pause für Request + UI state await sleep(350); } }; bulkBtn.addEventListener("click", async (e) => { e.preventDefault(); setBusy(true); try { const buttons = collectAddButtons(); await clickSequentially(buttons); } catch (err) { console.error("[pm-bulk-add]", err); } finally { setBusy(false); } }); })();