Führen Sie mehrere Magento DataFlow-Profile nacheinander aus
Ich entwickle eine Magento-Erweiterung, mit der Benutzer Kategorien, Produkte und andere Arten von Daten aus einer anderen Webshop-Lösung in Magento importieren können. Um dies zu erreichen, habe ich mehrere erweiterte DataFlow-Profile eingerichtet, die sich um den Import kümmern.
Bisher funktioniert es einwandfrei, aber die Profile müssen in der richtigen Reihenfolge (erste Kategorien, dann Produkte usw.) ausgeführt werden. Um es nicht-technischen Benutzern so einfach wie möglich zu machen und das Risiko menschlicher Fehler zu minimieren, möchte ich die Profile automatisch der Reihe nach ausführen. Im Idealfall drücken Sie einfach eine Schaltfläche "Profil ausführen" und beobachten dann einige Stunden lang, wie das Gras wächst, während DataFlow die Profile verarbeitet.
Ich kann das scheinbar nicht erreichen. Meine Hauptfrage ist - ist das möglich? Und wenn ja, wie?
Ich habe versucht, mehrere Profile in derselben XML-Datei zu kombinieren (im wahrsten Sinne des Wortes nur 2 Profile in eine XML-Datei kopieren), aber das hat nicht funktioniert. Die Eingabedateien wurden analysiert, aber irgendwie wurden die Adapterklassen, die für den eigentlichen Import verantwortlich waren, nicht ausgeführt.
Gibt es vielleicht eine Möglichkeit, einem Profil mitzuteilen, dass es ein anderes Profil beginnen soll, wenn es fertig ist (z. B. mit der Methode "finish")? Oder sollte ich vielleicht ein kleines Kontrollfeld schreiben, in dem Sie auf die Schaltfläche "Ausführen" klicken können und das dann die Sequenz durch AJAX-Voodoo verwaltet?
Die Verwendung eines Befehlszeilenskripts ist leider keine Option, und Magmi wird auch nicht verwendet.
Der Vollständigkeit halber muss ich erwähnen, dass alle Profile bestehen aus:
IO-Adapter, der eine CSV-Datei liestBenutzerdefinierter CSV-Parser (kopiert vom Standard-DataFlow-CSV-Parser mit einigen Verbesserungen, um die Macken in der Eingabedatei zu berücksichtigen)Benutzerdefinierter Adapter, der den Import ausführt