Import / Export Advanced Meta Daten - Profil anlegen

Moin zusammen, ich wollte mich gerade an dem Import / Export Advanced Menu zu schaffen machen, aber es scheitert bereits im Ansatz. Ich finde leider keine Übersicht bzw. Anleitung dafür, wie ich ein Profil erstelle (das bekomme ich dann doch noch hin), jedoch weiß ich nicht, wie ich dem Profil dann die benötigten Felder zuordnen kann. Bsp. anhand des alten Import Tools - Update der Metadaten: Die Felder hießen “ordernumber;name;description;metaTitle;keywords” Dementsprechend habe ich eine CSV aus meinem CMS erstellt, dass dem Aufbau entsprach. Irgendwie bin ich nur scheinbar zu unfähig ein “Profil” zu “definieren”, welches die Datei so einlesen kann. Wer kann mir helfen ? Viele Grüße Oktay

Keiner ne Idee? Ich bin erstaunt. Der Eine oder Andere wird das plugin ja nutzen oder? Gesendet von meinem SM-G900F mit Tapatalk

Hallo, du kannst Knoten löschen und Knoten dem Profil hinzufügen. Damit kannst du dir dein eigenes Profil zusammenklicken. Einen Knoten hinzufügen kannst du, wenn du auf “articles” klickst im Profil und oben “Knoten hinzufügen” klickst. Dann kannst du definieren wie die Spalte in deiner CSV heißt und in welches Feld der Inhalt importiert werden soll. Moritz

Hallo Moritz, Vielen Dank für deine Antwort. Nur zum Verständnis. Kann mein Profil theoretisch alle Felder (Knoten) beinhalten, meine einzulesende CSV beispielsweise aber nur 4 Felder davon beinhalten? Oder muss ich zB bei meinem Beispiel mit den Meta Daten alle Knoten (außer der vier benötigten) löschen? Ist die Reihenfolge egal oder müssen die Knoten (oder meine Spalten in der CSV) dementsprechend in derselben Reihenfolge sein? Würde mich über deine Antwort freuen. Besten Dank im voraus. Viele Grüße aus Hannover Oktay Gesendet von meinem SM-G900F mit Tapatalk

Hallo zusammen, ich habe nun ein Profil erstellen können, auch wenn es vorerst lediglich für meine Meta Daten ist, aber ich werde das Profil Stück für Stück erweitern und hoffe, dass es klappt :slight_smile: Meine Frage an dieser Stelle, hat jemand von euch eine Idee, ob die Möglichkeit besteht, dass man eine Art Fehlertoleranz aktiviert ? Es ist immer ein wenig mühselig, dass es den Import abbricht, sobald im Datensatz ein Stammartikel auftaucht, der Shopware unbekannt ist. Es wäre klasse, wenn Shopware einfach nur das einlesen würde, was ihm bekannt ist und Fehler einfach überliest. Würde mich über hilfreiche Antworten freuen. LG Oktay

Hallo, in der Plugin-Konfiguration im Plugin-Manager gibt es eine Einstellung die dazu gedacht ist. Moritz

@Moritz Naczenski schrieb:

Hallo,

du kannst Knoten löschen und Knoten dem Profil hinzufügen. Damit kannst du dir dein eigenes Profil zusammenklicken. Einen Knoten hinzufügen kannst du, wenn du auf „articles“ klickst im Profil und oben „Knoten hinzufügen“ klickst. Dann kannst du definieren wie die Spalte in deiner CSV heißt und in welches Feld der Inhalt importiert werden soll.

Moritz

Hallo!
Wie kann ich Knoten bzw. Attribute von anderen Profilen erstellen. Wie komme ich in eine andere Datenbankspalte?

Gruß

Christian

Jedes Mal das gleiche in diesem Forum: Sobald die wirklich relevanten Fragen gestellt werden reißt der Faden ab.

@Orangenjäger schrieb:

Jedes Mal das gleiche in diesem Forum: Sobald die wirklich relevanten Fragen gestellt werden reißt der Faden ab.

Wie lange hast Du dich mit dem Thema beschäftigt? 

@vitalinn schrieb:

@Moritz Naczenski schrieb:

Hallo,

du kannst Knoten löschen und Knoten dem Profil hinzufügen. Damit kannst du dir dein eigenes Profil zusammenklicken. Einen Knoten hinzufügen kannst du, wenn du auf „articles“ klickst im Profil und oben „Knoten hinzufügen“ klickst. Dann kannst du definieren wie die Spalte in deiner CSV heißt und in welches Feld der Inhalt importiert werden soll.

Moritz

Hallo!
Wie kann ich Knoten bzw. Attribute von anderen Profilen erstellen. Wie komme ich in eine andere Datenbankspalte?

Gruß

Christian

Gibt es hierzu mittlerweile eine Lösung? Ich würde gerne im Profil „Bestellungen“ auf die Kundennummer zugreifen, welche z.B. im Profil „Kunden“ verwendet wird.

Gruß Dennis

Ja gibt es.

Die einzelnen Profile nutzen „Datenbankadapter“. Diese Adapter liefern nur die Infos, die für die jeweilige Profilgruppe benötigt werden. Du findest hier:

\engine\Shopware\Plugins\Community\Backend\SwagImportExport\Components\SwagImportExport\DbAdapters

Nehmen wir z.B. den „MainOrdersDbAdapter.php“. Hier musst du zwei Stellen anpassen:

  1. In der Funktion „getOrderBuilder“ eine der „leftJoin“ Zeilen kopieren und nach dem Vorbild anpassen.
  2. In der Funktion „getOrderColumns“ die benötigten Felder (unter Verwendung des in Schritt 1 hinzugefügten Knotens) hinzufügen.

Danach lassen sich die neuen Felder bei der individuellen Anpassung der Exportprofile für Bestellungen auswählen und hinzufügen.

ACHTUNG: Änderungen direkt in diesen Dateien durchzuführen ist nicht updatesicher und sollte daher nicht gemacht werden! Diese Änderungen müssen in ein Plugin ausgelagert werden. (Wer das tut, wird folgendes Event brauchen: „Shopware_Components_SwagImportExport_Factories_CreateDbAdapter“ Wink)

1 „Gefällt mir“

Diese Änderungen müssen in ein Plugin ausgelagert werden. (Wer das tut, wird folgendes Event brauchen: „Shopware_Components_SwagImportExport_Factories_CreateDbAdapter“ Wink)

 

Hallo @Orangenjäger‍,
hast du hier ein Beispiel, wie das ganze funktioniert?, bzw. hast du das schon einmal erweitert?

 

Grüße

@Vmadmax‍ Ja, ich habe ein Plugin geschrieben, das im Import/Export-Profil weitere Felder zur Auswahl steht, die vorher nicht verfügbar waren. Ich weiß nicht, wie viel Hilfe du brauchst um das selbst zu schaffen, aber ich kann dir leider auch nicht einfach den Code zuschicken, weil ich das im Kundenauftrag geschrieben habe.

Ich musste jedenfalls die oben erwähnten „DbAdapters“ erweitern um weitere Felder hinzuzufügen. Da das updatesicher passieren sollte, habe ich das in einem Plugin untergebracht. Das Plugin subscribed das oben erwähnte Event und fragt den Adaptertyp ab:

$args->get('adapterType');

Basierend auf dieser Ausgabe (also ‚customers‘ oder ‚orders‘) wird auf z.B. „NewCustomerDbAdapter.php“ verwiesen, diese Datei liegt ebenfalls im Plugin. Darin wird (unter anderem) dann die entsprechende Originaldatei als Dependency angegeben:

use Shopware\Components\SwagImportExport\DbAdapters\CustomerDbAdapter;

Dort werden dann die Funktionen aufgeführt, die man erweitern will und entsprechend erweitert.

Ich hoffe, dass dir das weiterhilft.