Zum Inhalt springen
Warenkorb Menge 0: Artikel direkt im Mengenfeld entfernen, Plugin-Icon
Shopware 6

Warenkorb Menge 0: Artikel direkt im Mengenfeld entfernen

Deine Kunden tippen im Warenkorb eine 0 in das Mengenfeld und die Position ist weg. Auf der Warenkorbseite und im Ajax-Warenkorb, ohne Fehlermeldung, je Verkaufskanal schaltbar.

Preise

Monatlich 2,99 €
Jährlich 29,99 €

Auf einen Blick

  • Menge 0 eintippen, Position ist weg. Kein Zielen auf den kleinen Button.
  • Wirkt auf der Warenkorbseite und im Ajax-Warenkorb, je Kanal getrennt
  • Kein eigenes JavaScript in deiner Storefront, kein ersetztes Core-Markup
  • Entfernen-Button auf Wunsch verkleinern oder ganz ausblenden
  • Keine eigene Tabelle, keine Migration, saubere Deinstallation

Ein Kunde räumt seinen Warenkorb auf. Er markiert die Menge, tippt eine 0 und erwartet, dass die Position verschwindet. So kennt er es aus jeder Tabelle und aus jedem anderen Formular. Shopware nimmt die 0 nicht an: Das Mengenfeld ist auf die Mindestabnahme begrenzt, der Browser blockt das Absenden mit einer Meldung, die niemand liest, und der Kunde sucht danach den kleinen Entfernen-Button.

Das Problem

Der Entfernen-Button ist da. Auf dem Handy sitzt er nur wenige Millimeter neben dem Minus-Button des Mengenfeldes. Wer daneben tippt, ändert die Menge, statt die Position loszuwerden, und probiert es noch einmal. Wer stattdessen die 0 versucht, bekommt eine Browser-Meldung, die nichts erklärt und im Ajax-Warenkorb gar nicht erst erscheint. Jeder dieser kleinen Reibungspunkte macht den Warenkorb umständlicher, und keiner davon taucht in einer Statistik auf.

Die Lösung

Das Plugin macht die 0 im vorhandenen Mengenfeld erreichbar. Der Server liefert das Feld mit einer Untergrenze von 0 aus und leitet das Formular auf eine eigene Storefront-Route um. Kommt dort eine 0 an, entfernt Shopware die Position. Jede andere Menge geht unverändert den regulären Weg. Unter dem Mengenfeld steht ein kurzer Hinweis: „Menge 0 eingeben, um den Artikel zu entfernen.”

Was du davon hast

Ein zweiter, größerer Weg zum selben Ziel. Das Mengenfeld ist auf dem Handy die deutlich größere Trefferfläche als der Entfernen-Button daneben. Wer die Tastatur ohnehin offen hat, weil er die Menge korrigiert, bleibt beim Aufräumen im selben Feld.

Kein zusätzliches JavaScript in deiner Storefront. Das Plugin bringt keine eigene JS-Datei mit. Das Absenden trägt Shopware selbst: das Auto-Absenden auf der Warenkorbseite und der Ajax-Warenkorb im Offcanvas. Dein Seitengewicht bleibt, wie es ist.

Pro Verkaufskanal getrennt schaltbar. Du kannst das Verhalten im Endkunden-Shop einschalten und im B2B-Kanal auslassen. Warenkorbseite und Ajax-Warenkorb haben dazu je einen eigenen Schalter, und ein ausgeschalteter Kanal verhält sich exakt so, als wäre das Plugin nicht installiert.

Ein aufgeräumter Warenkorb, ohne dass jemand strandet. Du kannst den Entfernen-Button verkleinern oder ganz ausblenden. Ausgeblendet wird er nur an den Positionen, an denen der Kunde die 0 auch wirklich eintippen kann. Ein Warenkorb ohne jede Entfernen-Möglichkeit kann damit nicht entstehen.

Deine Templates bleiben, wie sie sind. Alle vier Vorlagen-Erweiterungen hängen sich an das bestehende Markup an, statt es zu ersetzen. Anpassungen anderer Plugins im selben Bereich bleiben wirksam, dein Theme bekommt keine Sonderbehandlung.

So arbeitet das Plugin

Der Server entscheidet, nicht das Browserfenster. Für jede Warenkorb-Position prüft das Plugin, ob sie über die 0 entfernt werden darf. Zugelassen ist eine eigenständige Produkt-Position, die Shopware selbst als entfernbar und stapelbar meldet, keine Unterpositionen hat und auf oberster Ebene steht. Trifft eine dieser Bedingungen nicht zu, bleibt alles beim Standard: Mindestmenge im Feld, Entfernen-Button daneben.

Kommt die 0 auf der eigenen Route an, prüft das Plugin dieselben Bedingungen ein zweites Mal. Ein von Hand abgeschickter Request kommt daran nicht vorbei. Nach dem Entfernen erscheint eine kurze Bestätigung, die du im Verkaufskanal abschalten kannst, wenn du es lieber still magst.

Typische Einsatzszenarien

Mode und Schuhe auf dem Handy. Kunden legen drei Größen in den Warenkorb und werfen zwei davon wieder raus, bevor sie bestellen. Das passiert am Telefon, mit dem Daumen, in der Bahn. Das Mengenfeld ist dort das freundlichere Ziel.

B2B-Shop mit langen Bestelllisten. Ein Einkäufer arbeitet dreißig Positionen von oben nach unten durch, korrigiert Mengen und setzt einzelne Zeilen auf 0. Er bleibt bei der Tastatur und muss nicht zwischen Tippen und Klicken wechseln.

Shops, in denen der Ajax-Warenkorb die Hauptbühne ist. Wenn deine Kunden ihren Warenkorb überwiegend im Offcanvas bearbeiten, schaltest du die 0 dort frei und lässt die Warenkorbseite unberührt. Oder genau andersherum.

Versandkosten, die stark von der Adresse abhängen. Solange keine Lieferadresse des Kunden vorliegt, kann Shopware nur den Standardversand ansetzen. Auf Wunsch ersetzt das Plugin diesen vorläufigen Betrag durch einen Hinweis samt Link auf deine Versandinformationsseite. Die Einstellung ist ab Werk aus, weil sie an Preisangabenpflichten rührt.

Technische Fakten für deine IT

Shopware 6.7 (Composer-Constraint ~6.7.0), PHP ab 8.2, Symfony 7.

Das Plugin legt keine eigene Datenbanktabelle an, bringt keine Migration mit und hängt keine Freitextfelder an Core-Entitäten. Die Originaltabellen von Shopware bleiben unverändert. Die sechs Einstellungen liegen in der Systemkonfiguration von Shopware, je Verkaufskanal getrennt.

Das Plugin sendet keine Daten an externe Server. Es setzt keine eigenen Cookies und bindet kein Tracking ein. Zur DSGVO: Protokolliert wird ausschließlich ein abgewiesener Versuch, und zwar mit Positions-ID, Positionstyp, betroffener Oberfläche und Verkaufskanal-ID in einem eigenen Log-Kanal. Kundendaten stehen nicht im Log.

Zur Last: Es gibt keinen eigenen Cart-Processor, keinen Event-Subscriber, keine Hintergrundaufgabe und keine eigene Datenbankabfrage. Gelesen werden nur die Plugin-Einstellungen über den Konfigurationsdienst von Shopware. Die eigene Route ist ein POST-Endpunkt für genau eine Position, die Warenkorb-Berechnung selbst macht weiterhin Shopware.

Alle vier Storefront-Erweiterungen nutzen sw_extends und rufen das Original-Markup auf. Beschriftungen liegen in Deutsch, Englisch und Niederländisch bei. Bei der Deinstallation bleibt nichts zurück: Es gibt keine eigene Tabelle, und die Einstellungen räumt Shopware selbst ab. Entscheidest du dich beim Deinstallieren dafür, die Daten zu behalten, bleiben sie für eine Neuinstallation stehen.

Ehrlich gesagt

Das Plugin wirkt nur in der Storefront. Betreibst du deinen Shop headless oder hängt eine App an der Store-API, bringt dieser Client seine eigene Mengenlogik mit, und dort ändert sich nichts.

Es rührt auch nicht an deinen Mengenregeln. Die 0 heißt „entfernen”, nicht „Menge null bestellen”. Positionen, für die Shopware kein bedienbares Mengenfeld ausliefert, etwa Download-Artikel oder Artikel mit nur noch einem Stück auf Lager, behalten ihren Entfernen-Button und bleiben genau so, wie sie heute sind. Und wenn dein Theme den Mengenselektor komplett neu geschrieben hat statt ihn zu erweitern, greift die 0 dort nicht.

Probier es in deinem Testsystem aus, bevor du es live schaltest. Installieren, aktivieren, Schalter setzen, einmal durch den Warenkorb klicken. Länger dauert es nicht.

Häufige Fragen

Funktioniert das mit meinem Theme?

Ja, solange dein Theme die Standard-Vorlagen von Shopware für Mengenfeld und Entfernen-Button erweitert, statt sie zu ersetzen. Alle vier Erweiterungen des Plugins hängen sich an das bestehende Markup an. Ein Theme, das den Mengenselektor komplett neu schreibt, bekommt die 0 nicht.

Ändert das Plugin meine Mindestbestellmengen?

Nein. Die 0 bedeutet entfernen, nicht Menge null bestellen. Steht bei einem Artikel eine Mindestabnahme von 3, gilt sie unverändert für jede Menge ab 1.

Kann ein Kunde damit Positionen löschen, die er nicht löschen soll?

Nein. Der Server lässt die 0 nur bei eigenständigen Produkt-Positionen zu, die Shopware ohnehin als entfernbar meldet. Rabatte, Gutschriften und Unterpositionen von Bundles sind ausgenommen. Das gilt auch für einen Request, den jemand von Hand abschickt.

Was passiert bei der Deinstallation mit meinen Daten?

Dein Shop verhält sich wieder wie vorher. Das Plugin legt keine eigene Tabelle an, und die Einstellungen räumt Shopware beim Deinstallieren selbst ab. Wählst du beim Deinstallieren, die Daten zu behalten, bleiben sie für eine spätere Neuinstallation stehen.

Bremst das Plugin meinen Shop aus?

Spürbar nicht. Es stellt keine eigenen Datenbankabfragen, bringt kein zusätzliches JavaScript mit und greift nicht in die Warenkorb-Berechnung ein. Pro Position werden nur ein paar Schalter aus der Konfiguration gelesen, die Shopware bereits geladen hat.

Sendet das Plugin Daten an externe Server?

Nein. Es gibt keine Verbindung nach außen, keine eigenen Cookies und kein Tracking. Alles bleibt in deiner Shopware-Installation, auch die Einstellungen.

Kann ich das nur in einem meiner Verkaufskanäle einschalten?

Ja. Jede Einstellung gilt pro Verkaufskanal, der Hauptschalter eingeschlossen. Im ausgeschalteten Kanal verhält sich der Warenkorb exakt so wie ohne das Plugin.

Funktioniert das auch in meiner App oder im Headless-Frontend?

Nein. Das Plugin wirkt ausschließlich in der Storefront von Shopware. Ein Client, der direkt auf der Store-API arbeitet, bringt seine eigene Mengenlogik mit und geht an dieser Prüfung vorbei.

Was macht die Einstellung zu den Versandkosten?

Sie ersetzt den Versandkostenbetrag durch einen Hinweis samt Link auf deine Versandinformationsseite, solange keine Lieferadresse des Kunden bekannt ist. Solange der Hinweis steht, entfällt auch der Shopware-Link „Versanddetails öffnen“ unter dem Warenkorb — er berechnet genau die Kosten vorab, die der Hinweis offen lässt. Versandkostenfreiheit wird nie ausgeblendet. Die Einstellung ist ab Werk aus. Prüfe vor dem Einschalten die Preisangabenpflichten (PAngV, § 312a BGB).

Brauche ich für die Einrichtung einen Entwickler?

Nein. Installieren, aktivieren, im Verkaufskanal die Schalter setzen. Sinnvoll ist danach ein Durchgang durch den Warenkorb im Testsystem, besonders wenn dein Theme den Warenkorb angepasst hat.

Features im Überblick

  • Menge 0 im vorhandenen Mengenfeld der Warenkorbseite entfernt die Position sofort
  • Dasselbe Verhalten im Ajax-Warenkorb, der sich über das Warenkorb-Symbol öffnet
  • Gilt auch in der Bestellübersicht, die denselben Mengenselektor verwendet
  • Hauptschalter je Verkaufskanal: aus bedeutet exakt das Standardverhalten von Shopware
  • Warenkorbseite und Ajax-Warenkorb lassen sich einzeln freischalten
  • Hinweistext unter dem Mengenfeld erklärt die 0 als Weg zum Entfernen
  • Bestätigungsmeldung nach dem Entfernen, abschaltbar für ein stilles Entfernen
  • Entfernen-Button wahlweise unverändert, klein oder ausgeblendet
  • Ausgeblendet wird der Button nur dort, wo die 0 tatsächlich eingetippt werden kann
  • Serverseitige Prüfung: ein von Hand abgeschickter Request umgeht die Regeln nicht
  • Nur Produkt-Positionen: Rabatte, Gutschriften und Bundle-Eltern bleiben unangetastet
  • Optionaler Hinweis statt Versandkosten, solange keine Lieferadresse vorliegt
  • Der Hinweis verlinkt die Versandinformationsseite aus deinen Shopware-Einstellungen
  • Eigener Log-Kanal für abgewiesene Versuche, ohne personenbezogene Daten
  • Texte in Deutsch, Englisch und Niederländisch
Live testen

Im Demo-Shop ausprobieren

Statt Screenshots: Plugin direkt im Frontend und Backend eines echten Shopware-6-Shops sehen.

sw6plugindemo.bui-demo.com
Einrichtung & Pflege

Brauchst du Hilfe bei der Installation?

Wir installieren, konfigurieren und pflegen das Plugin auch dauerhaft, als Teil unserer Shop-Betreuung. Damit es bei Updates nicht plötzlich Schwierigkeiten gibt.

Screenshots

dein-shop.de
Warenkorb Menge 0: Artikel direkt im Mengenfeld entfernen. Screenshot 1
Warenkorb Menge 0: Artikel direkt im Mengenfeld entfernen. Screenshot 2
Warenkorb Menge 0: Artikel direkt im Mengenfeld entfernen. Screenshot 3
Warenkorb Menge 0: Artikel direkt im Mengenfeld entfernen. Screenshot 4
Warenkorb Menge 0: Artikel direkt im Mengenfeld entfernen. Screenshot 5