AvS_FastSimpleImport ist ein Modul zum Import verschiedener Daten in Magento. Durch die Nutzung der Magento-eigenen Schnittstelle „ImportExport“ ist es sowohl schnell als auch updatesicher. Da es gegenüber anderen Importmethoden einige Vorteile bietet (ein Vergleich ist in Vorbereitung) sowie einfach zu bedienen ist, wird es mittlerweile häufig eingesetzt. Die Kernfeatures sind:

  • Import von Produkten, Kunden, Kategorien und Produkt-Kategorie-Verknüpfungen
  • Import von einfachen Produkten, gruppierten Produkten, konfigurierbaren Produkten und Bundle-Produkten
  • Automatische Indizierung aller importierten Produkte
  • Verbesserte Fehlerbehandlung

Das Modul wird auf GitHub unter https://github.com/avstudnitz/AvS_FastSimpleImport gehostet und gepflegt.

Am vergangenen Wochenende fand in Oldenburg ein Magento-Hackathon statt, wo sich ein Team aus fünf Personen, darunter ich als Hauptentwickler, der Weiterentwicklung des Moduls gewidmet hat.
Im Folgenden möchte ich kurz auf die Neuerungen eingehen.

Neues Importformat „Nested Arrays“

Das Importformat von ImportExport kann sehr unübersichtlich werden, wenn ein Feld mehrere Werte beinhaltet. Dies können z.B. mehrere Websites, mehrere Kategorien oder mehrere Unterprodukte (bei konfigurierbaren oder gruppierten Produkten) sein. Beispiel:

Mit der neuen Option lassen sich stattdessen geschachtelte Arrays verwenden:

Diese Option muss vor Verwendung aktiviert werden – entweder über die Konfiguration (s.u.) oder über das Hinzufügen der Zeile ->setUseNestedArrays(true) zum Import-Aufruf.

Konfiguration

Während bisher alle Optionen beim Aufruf der Schnittstelle per Programmcode übergeben wurden, kann man diese jetzt in der Konfiguration verwalten:

Die Optionen sind in der Dokumentation im Detail beschrieben.

Wie in den letzten vier Optionen zu sehen ist, lassen sich für den Produktimport jetzt auch Standardwerte angeben, sodass diese nicht in jeden Import integriert werden müssen.

Alle Konfigurationsoptionen lassen sich über den direkten Modulaufruf überschreiben.

Unit-Tests

Screen Shot 02-24-14 at 12.40 PMAuf Basis von PHPUnit und der Magento-Erweiterung EcomDev_PHPUnit haben wir (hauptsächlich Dima Janzen und Richard Vogel) eine Testsuite entwickelt, mit der die Kernfunktionen automatisch getestet werden können. Dies umfasst beispielsweise die Konfiguration, den Import aller unterstützten Produkttypen oder die neue Importstruktur der „Nested Arrays“ (s.o.). Dies wird bei der Weiterentwicklung oder beim Erscheinen neuer Magento-Versionen helfen sicherzustellen, dass alle aktuellen Funktionen nach wie vor funktionieren. Bereits die Erstellung der Unit-Tests hat durch das Aufdecken kleinerer Fehler geholfen, die Qualität des Moduls zu erhöhen.

Dokumentation

Ein Schwachpunkt war bisher die unübersichtliche Dokumentation – so wurden alle Features auf der GitHub-Startseite unsortiert aufgelistet. Dies haben wir jetzt komplett überarbeitet: Die Readme listet nur die wichtigsten Fakten auf, während die neue Dokumentation alle Features strukturiert und übersichtlich beschreibt, inklusive Beispielen und Screenshots der Dokumentation.

FastSimpleExport

Von Nils Preuß wurde das Gegenstück zu FastSimpleImport entwickelt: FastSimpleExport. Es exportiert verschiedene Daten (aktuell Produkte, Kunden, Bestellungen) als Arrays, die anschließend weiterverarbeitet werden können. So lassen sie sich z.B. serialisieren, auf ein anderes System übertragen und dort wieder importieren.

Andreas von Studnitz

Autor: Andreas von Studnitz

Andreas von Studnitz ist Diplom-Informatiker, Magento-Entwickler und Geschäftsführer von integer_net. Seine Schwerpunkte sind Entwicklung, Beratung und die Durchführung von Schulungen. Er ist Magento 2 Certified Professional Developer Plus und hat darüber hinaus weitere Magento Zertifizierungen für Magento 1 und Magento 2. Sowohl im Jahr 2019 als auch 2020 wurde Andreas als Magento Master in der Kategorie „Mentor“ ausgezeichnet.

Mehr Informationen