News Shop-Management

Magento 2: Löschbestätigung im Import-Bereich einbauen

Magento 2: Löschbestätigung im Import-Bereich einbauen

Beim Import in Magento 2 passiert ein Klick oft schneller, als hinter dem Button liegt. Wer das System um eine eigene Entität erweitert hat, kann Datensätze über den Import-Bereich anlegen, aktualisieren und wieder entfernen. Genau an diese letzte Aktion knüpft eine Frage an, die Kavya Cheerala zuletzt auf Stack Exchange beschrieben hat. Beim Klick auf Löschen erscheint keine Bestätigung. Der Datensatz wandert ohne Warnung weg.

Der Standard-Import in Magento 2 kennt Entitäten wie Produkte, Kunden, Kundenadressen und Katalogpreisregeln. In der Tabelle unter System, Datenübertragung, Import wird jede Zeile über einen Delete-Button bearbeitet. Bei den von Magento gelieferten Entitäten prüft das System den Klick in der Regel ab. Sobald eine Entität per eigenem Modul dazukommt, übernimmt Magento diese Prüfung nicht mehr automatisch. Der Entwickler muss sie nachliefern.

Die Frage zeigt eine Lücke, die viele Projekte kennen. Import-Entitäten werden über ein eigenes Modul registriert. Die Liste zeigt den Import-Button an, die Bestätigung fällt weg. Wer das Grid selbst baut, entscheidet damit, ob der Klick geprüft wird oder nicht.

Kernsatz: Die Löschbestätigung ist in Magento 2 keine Plattform-Funktion, sondern gehört zum eigenen Modul. Wer sie weglässt, verlagert das Risiko in den Shop-Alltag.

Warum fehlt Magento 2 hier die Sicherung?

Adobe hat den Import als generische Maschine gebaut. Die Engine liest CSV-Dateien, ordnet Felder zu und schreibt in die Ziel-Tabellen. Die Oberfläche, in der die Entitäten registriert werden, ist erweiterbar. Die Prüfung beim Löschen hängt dagegen von der jeweiligen Implementierung ab. In Magento 2.4.x und Adobe Commerce Cloud greift die automatische Confirmation nur, wenn das Grid über eine UI-Komponente mit einem confirm-Eintrag arbeitet. Fehlt dieser Eintrag, läuft der Klick direkt durch. Betroffen sind vor allem Händler, die eigene Import-Entitäten für Lager, Marken oder Zubehör anlegen.

Wie bindet ihr den Popup an?

Der sauberste Weg führt über die Aktionsspalte des Import-Grids. Dort trägt ihr in der UI-Komponente ein confirm-Objekt ein, das Titel und Text der Box übergibt. Magento reicht beides an die fertige Confirm-Komponente weiter. Eigene Markup-Elemente entfallen. Die zweite Variante nutzt ein JavaScript-Mixin. Es fängt den Lösch-Handler der Entität ab und ruft danach die Confirm-Box auf. Das funktioniert auch, wenn das Grid per PHP-Rendering aufgebaut ist. Es kostet aber Pflegeaufwand bei jedem Magento-Update.

Für den Shop-Alltag zählt eine Zahl. Ein gelöschter Import-Datensatz lässt sich aus dem Papierkorb nicht mehr holen. Wiederherstellen geht nur über ein Datenbank-Backup. Gerade bei großen Katalog-Importen oder Preisaktionen lohnt sich deshalb die kurze Absicherung.

Handlungsempfehlung: Testet den Popup auf der Staging-Umgebung, bevor ihr die Entität live schaltet. Legt fest, wer Import-Entitäten anlegen darf, und dokumentiert die Zeilen im Modul. Wer das nicht selbst tut, gibt die Anpassung an eine Agentur, die auf Adobe Commerce spezialisiert ist.

Der Trend geht zu immer mehr Import-Entitäten in Magento 2. Je spezifischer die Daten, desto wichtiger wird die Frage, ob ein Klick wirklich löschen soll.