Shopware

Duplikate von Eigenschaften in Shopware 6 zusammenführen

Für den Erfolg mit dem eigenen Onlineshop spielt die Qualität der Produktdaten eine entscheidende Rolle. Wer mit verlässlichen Daten arbeiten möchte, muss dabei zum Beispiel eine Antwort darauf finden, wie er mit Duplikaten bei den Eigenschaften seiner Produkte umgeht. Für Shopware 6 steht mit unserem eigenen «Eigenschaft-Merger» eine Erweiterung zur Verfügung, die genau hierfür eine Lösung bietet. Wie sie funktioniert und wie Sie diese Erweiterung für Ihren Shop nutzen können, stellen wir Ihnen in diesem Blog-Beitrag vor.

  1. Ausgangslage
  2. Die Lösung: unsere Shopware Erweiterung
  3. Befehle und Möglichkeiten
  4. Fazit

Ausgangslage: Um dieses Problem geht es bei Duplikaten von Eigenschaften

Wenn Sie intensiv mit Shopware 6 arbeiten, kennen Sie dieses Problem vielleicht. Nach der Zusammenführung von Produktdaten aus unterschiedlichen Quellen tauchen die gleichen Eigenschaften mehrfach auf. Zusätzlich können diese jeweils mit unterschiedlichen Ausprägungen in der Liste vorhanden sein. Die Produkteigenschaften können gleiche oder voneinander abweichende Schreibweisen besitzen, es sind aber eigentlich immer die gleichen Eigenschaften gemeint. Das typische Beispiel sind die Produktfarben, die nun plötzlich auf mehrere Eigenschaften aufgeteilt sind. So ist ein effizienter und fehlerfreier Umgang mit den Daten im Shopsystem nicht möglich und das hat eventuell negative Auswirkungen auf den Bestellprozess und die Kundenzufriedenheit.

Probleme können dann auftreten, wenn die Kunden die in Shopsystemen beliebte Filterfunktion nutzen. Diese Filter basieren auf den Produkteigenschaften und zeigen daher beim Vorliegen von Duplikaten nicht alle vorhandenen Varianten wie etwa sämtliche verfügbaren Farben an. Damit die Filter reibungslos funktionieren, gilt es also erst einmal bei den Duplikaten gründlich aufzuräumen.

Gegen Eigenschaftenduplikate vorgehen mit der Shopware Erweiterung von Webwirkung

Wir haben uns überlegt, wie wir die Nutzer von Shopware 6 dabei unterstützen können, Duplikate bei den Produkteigenschaften vollständig und mit geringem Aufwand zu entfernen. Um das Problem bei der Wurzel zu packen, haben wir kurzerhand eine eigene Erweiterung geschrieben. Hierbei handelt es sich um ein kleines Programm mit dem Namen «Webwirkung property merger», das die Funktionen von Shopware 6 an dieser entscheidenden Stelle erweitert.

Die Funktion folgt hier genau der Bezeichnung der Shopware Erweiterung: Unser kleines Tool führt die mehrfach vorhandenen Produkteigenschaften wieder zusammen bzw. verschmilzt diese. Aktuell liegt dieses Widget in der Version 1.0.0 vor (Stand: Mai 2023) und ist auf unserem Github Profil kostenlos verfügbar. Bei der Verwendung des Skripts öffnet sich eine Kommandozeile, wo Sie den entsprechenden Befehl für den Merge eingeben können. Diesen Vorgang müssen Sie im Prinzip nur einmal nach einer erfolgten Datenmigration durchführen. Danach sollte das Problem mit den Duplikaten dank unseres Skripts behoben sein.

Diese Befehle führen zum gewünschten Ergebnis

Sobald Sie sich in der Konsole von Shopware befinden, verwenden Sie eine Reihe von Befehlen, um den Merge-Vorgang zu starten. Zuerst möchten Sie sich hierzu die Eigenschaftenliste anzeigen lassen, damit Sie sich einen Überblick über die aktuelle Situation verschaffen können. Dazu geben Sie diesen Befehl ein:

bin/console webwirkung:property-list

Es erscheint nun eine Liste, die alle Eigenschaften-IDs (property IDs) mit der jeweiligen Anzahl an Ausprägungen (options) aufführt. Wenn hier Duplikate auftreten sollten, verwenden Sie den von uns entwickelten Merging-Prozess. Um sich über diesen und dessen Optionen einen Überblick zu verschaffen, lassen Sie sich mit folgendem Befehl die Hilfe anzeigen:

bin/console webwirkung:property-merge -h

Hier sehen Sie sofort, wie Sie auf das Merging Einfluss nehmen können. Mit dem Source-Befehl können Sie zum Beispiel die Quelle festlegen und damit, welche Ausprägungen Sie verschmelzen möchten:

bin/console webwirkung:property-merge -s [property ID]

Ausserdem können Sie mit dem Destination-Befehl angeben, mit welcher Eigenschafts-Gruppe die Verschmelzung erfolgen soll. Der Befehl sieht dann entsprechend um das Ziel erweitert so aus:

bin/console webwirkung:property-merge -s [property ID] -d [property ID]

Wenn Sie den Vorgang starten möchten, geben Sie den Befehl für einen Trockenlauf ein. Am Ende sieht der vollständige Befehl so aus:

bin/console webwirkung:property-merge -s [property ID] -d [property ID] --dry-run

Wenn Sie jetzt noch einmal den Listen-Befehl verwenden, sehen Sie, dass die gewünschte Eigenschaften-Verschmelzung stattgefunden hat. Entsprechend steigt dann die Anzahl der Ausprägungen beim verbliebenen Eintrag an. Das ist als Beleg dafür zu verstehen, dass der Vorgang funktioniert hat.

Der entscheidende Vorteil unseres Plug-ins besteht darin, dass es Duplikate bei den Ausprägungen automatisch erkennt und diese entsprechend zusammenführt. Haben Sie zum Beispiel für die Farbeigenschaft bisher mehrere Ausprägungen für die Farbe Blau in Ihren Produktdaten vorfinden können, kommt diese Farbe jetzt nur noch einmal vor.

Den Vorgang für das Merging können Sie so lange wiederholen, bis alles Properties nur noch einmal in der Liste auftauchen. Dann sollten auch Ihre Filter wieder reibungslos funktionieren und Ihre Kunden erhalten ein besseres Erlebnis bei der Nutzung des Shopsystems.

Achten Sie beim Merging noch auf die durchgeführte Aktion. Das Tool zeigt Ihnen in der Konsole an, ob eine Verschmelzung oder eine Überschreibung (override) stattgefunden hat. Sind die zu verschmelzenden Ausprägungen im Ziel noch nicht vorhanden, führt das Tool diese zusammen. Sollten sie hingegen bereits vorhanden sein, erfolgt entsprechend eine Überschreibung. In diesem Fall kommt es nicht zu einer Erhöhung der Anzahl der Optionen. Wichtig ist für Sie alleine, dass am Ende des Vorgangs alle Ausprägungen wie erwähnt nur noch einmal vorkommen.

Fazit

Das Aufräumen des Produktkatalogs innerhalb von Shopware 6 lohnt sich. Denn eine hohe Datenqualität ist wichtig, um Ihren Kunden im E-Commerce ein entsprechend positives Erlebnis bieten zu können. Der Webwirkung property merger hilft Ihnen dabei, Ihren Katalog zu entrümpeln und Eigenschaftsduplikate mit der Eingabe nur weniger Befehle in der Konsole zu entfernen. Wir legen unser kleines Plug-in daher jedem nahe, der sich die Arbeit mit dem beliebten Shopsystem etwas erleichtern möchte.

Kommentare (14)

Hinterlasse einen Kommentar
  1. Nicht nur das, es ist wirklich das was Shopware in der Grundfunktion fehlt und sollte eigentlich ausgebaut werden. Das hat wirklich potential. Ich frage mich ob man die Logik auch für Optionen innerhalb einer Gruppe erweitern könnte. Wenn ich zum Beispiel Spaces in einer Option habe… Diese einfach umzubenennen reicht natürlich nicht… Kann man das irgendwie erweiteren auf die Optionen?

  2. Hallo Zusammen,

    funktioniert super und macht, was es soll! Vielen herzlichen Dank für die Bereitstellung dieses sehr hilfreichen Plugins, welches mir/uns sehr hilft das in der Vergangenheit erzeugte Kaos im Shop nachhaltig zu bereinigen!

    Bitte gebt unbedingt kurz Signal, wenn es auch möglich ist/sein sollte, dass doppelte Property-IDs innerhalb einer Group-ID zusammenzuführen sind.

    Wir haben nämlich aktuell innerhalb verschiedeneren Eigenschaften-Gruppen doppelte Eigenschaftsbezeichnungen mit unterschiedlichen Property-IDs, weil man leider ohne Konzept die Produkte eingepflegt sowie dabei leider auch unterschiedliche Schreibweisen gewählt hat, obwohl die Ausprägungen eigentlich von der inhaltlichen Bedeutung identisch sind.

    Die Ausprägungen (Property-IDs) innerhalb des Eigenschaft-Sets (Group-ID) «Farbe» sind bei uns beispielsweise:

    1.) ROT
    2.) rot
    3.) Rot

    Diesen Umstand kann das großartige Plugin leider bislang nicht auffangen/beheben und es müsste meines Wissens via Backend manuell NACHgearbeitet ODER zumindest sauber VORgearbeitet werden indem

    1.) man entweder die Schreibweisen der Ausprägungen VOR dem Zusammenführen der Gruppen in der Schreibweise angleicht, damit sie wirklich vollständig verschmolzen/ersetzt werden können oder

    2.) man etwas zeitaufwändiger NACH dem Zusammenführen der Eigenschaftsgruppen die entsprechenden Dubletten markiert (um sie besser differenzieren zu können) und dann aus den einzelnen Artikeln/Produkten heraus die «nicht gewünschte Eigenschaft“ abwählt UND zeitgleich die „gewünschte Eigenschaft“ auswählt.

    Wünsche dem Team von Webwirkung weiterhin eine erfolgreiche sowie angenehme Zeit!

    Mit vielen dankbaren & freundlichen Grüßen
    Bastian von Kontorplus.de

    1. Hi Bastian,

      Vielen Dank für das Kompliment und den Verbesserungsvorschlag.

      Wir werden uns auf alle Fälle melden, wenn wir eine Lösung dazu finden.

      Bitte lass uns wissen, falls Ihr anderweitig Swiss Quality Shopware Service benötigt 😉

      Wir grüssen dich und wünschen dir ein tolles Wochenende!
      Ramiz

  3. Fehler in den Befehlen auf github.com:
    Falsch: webwirkung:property:merge
    Richtig: webwirkung:property-merge

    Dann funktioniert es wunderbar. Hat leider schon wieder viel Nerven gekostet.

Hinterlasse eine Antwort

Kommentarrichtlinie: Wir lieben Kommentare und schätzen die Zeit, die Leser damit verbringen, Ideen auszutauschen und Feedback zu geben. Alle Kommentare werden jedoch manuell moderiert und diejenigen, die als Spam oder reine Werbung gelten, werden gelöscht.

Diese Website ist durch reCAPTCHA geschützt und es gelten die Datenschutzbestimmungen und Nutzungsbedingungen von Google.