Universal Import Export Shopware Plugin

Universal Import Export Shopware Plugin

Einleitung

AntUniimex ist eine Abkürzung für „antony Universal Import Export“ und befasst sich allgemein mit dem Importieren und Exportieren Shopware relevanter Daten. Das Plugin ermöglicht es, CSV-Dateien oder XML-Datein mit zu verarbeiten. Er kann mehrer

Dateiformate

CSV-Format (Trennzeichen)

Das CSV-Format trennt Spalten anhand eines konfigurierten Zeichens. Die meist verwendeten Zeichen ist das Semikolon und das Komma.

Beispiel-Text;19;14,95

Spalteninhalte, die dieses Trennzeichen enthalten, sollten zwischen dem sogenannten Kapselungszeichen stehen.

"Beispiel-Text; mit Semikolon";19;14,95

Wenn auch dieses Kapselungszeichen innerhalb eines Spalteninhaltes vorkommt, so muss dieses durch ein Escapezeichen markiert werden.

"Beispiel-Text mit vorkommenden \"Kapselungszeichen\"";19;14,95

Diese genannten Zeichen können in der Treiberkonfiguration definiert werden.

CSV-Format (Längenspezifisch)

Bei dem längenspezifischen Textformat handelt es sich um Spalten, die eine vorgegebene Größe haben.

|spalte mit 25 zeichen |5Z|10 Zeichen

Artikel 1 19 14.95

Artikel 2 19 119.95

Haben Spalten einen längeren Inhalt so werden diese abgeschnitten.

XML-Format

XML ist eine Auszeichnungssprache zur Darstellung hierarchisch strukturierter Daten in Form von Textdateien.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <orderexport>
    <order>
        <ordernumber>123456</ordernumber>
    </order>
    <order>...</order>
    <order>...</order>
</verzeichnis>

Wichtig: Da eine XML-Datei einen nahezu beliebigen Aufbau aufbau haben kann haben wir ein Mapping-Tool für Windows entwickelt. Mit diesem ist es möglich aus einer XML-Datei eine trukturierte Datei zu erzeugen. Nach einliger Konfiguration geschieht das selbstverständlich auch automatisch. Beim Bestellungsexport ist das Ausgabeformat als XML statisch und nicht veränderbar.

Siehe Abschnitt XML-Dateien-Importieren in diesem Handbuch.

Installation

Laden Sie das Plugin über den Shopware Community Store herunter und installieren Sie es. Anschließend finden Sie das Plugin unter Einstellungen->Universal Importer/Exporter

Konfiguration

Zur Konfiguration des Plugins müssen Sie zunächst eine Konfiguration für eine Datei erzeugen. Es kann beliebig viele Konfigurationen geben und üblicherweise gibt es für verschiedene Arten von zu importierenden Daten eine eigene Konfiguration.

Beispiel:

Artikel-Import (geplante Ausführung einmal pro Tag)

Bestands-Import (geplante Ausführung alle 30 Minuten)

Preis-Import (geplante Ausführung einmal pro Stunde)

Bilder-Import (geplante Ausführung einmal pro Tag)

Bestellungsexport (geplante Ausführung alle 30 Minuten)

Um eine neuen Konfiguration zu erzeugen klicken Sie auf den Knopf Hinzufügen. Dadurch wird eine neue Konfiguration mit dem Namen "New Config" erstellt die Sie auf der linken Seite auswählen können.

Reiter Optionen

Allgemeine Infos

Bild der Allgemeinen Infos

Name

Bitte geben Sie jeder neuen Konfiguration zuerst einen sprechenden Namen. z.B. "Artikel Import v1". Für uns hat es sich als praktisch erwiesen der Konfigurtion eine Versionsnummer anzuhängen.

Treiber

Dann wählen Sie bitte den Treiber aus. Der Treiber wird durch die Art der zu verarbeitenden Datei bestimmt. Die Auswahlmöglichkeiten sind "CSV-Datei", "Längen-Spezifische Textdatei" oder "XML Datei".

Modus

Hier müssen Sie bestimmen, was durch diese Konfiguration geschehen soll. * Artikelimport

Dies ist die richtige auswahl wenn Sie den Zugriff auf alle Artikeldaten, inkl. Bilder, Preise, Bestände oder Kategorien brauchen. * Preisimport

Diese Option brauchen Sie wenn Sie nur Preise und vor allem auch Staffelpreise oder Kundengruppenpreise importieren möchten * LiveShopping Import

Diese Option ist veraltet und darf nicht mehr benutzt werden * Kunden Import

Wenn Sie keine Artikeldaten sondern Kundendaten eines anderen Systems importieren möchten, wählen Sie diese Option. * Bestellungsexport

Um Bestellungen (anhand bestimmte Kriterien) aus Shopware in eine Datei zu exportieren, wählen Sie diese Option. * Tracking Code Import

Um bestimmte Werte einer Bestellung, wie z.B. Bestellstatus oder Trackingcode, wieder zu importieren brauchen Sie diese Option. Hierbei ist es auch möglich mit einem Paramter zu steuern ob beim Update des Bestellstatus eine Email durch Shopware an den Kunden verschickt werden soll. * Hersteller Import

Um Herstellerdaten, inkl. dem Herstellerbild und dem Herstellerlink, zu importieren brauchen Sie diese Option.

Cronjob aktiv

Mit dieser Option aktivieren Sie die periodische Ausführung der aktuellen Konfiguration über den Shopware Cron.

Wichtig: Eine Konfiguration kann über die Shopware Console auch ausgeführt werden, wenn diese Option nicht gesetzt ist!

Debug

Aktivieren Sie diese Option bitte nur nach Aufforderung durch unseren Support. Denn dadurch wird eine sehr umfangreiche Log-Datei im Pluginverzeichniss erzeugt, welche nur zur Diagnosezwecken genutzt wird.

Artikel Import Optionen

Deaktivieren von Artikeln die nicht in CSV vorhanden sind?

Um bei einem Artikelimport die Artikel zu deaktivieren (nicht zu löschen) die nicht mehr in der CSV Datei vorhandne sind (z.B. ausgelistete Artikel eines Lieferanten) aktivieren Sie bitte diese Option.

Bilder Ignorieren wenn vorhaden

Mit dieser Option steuern Sie wie das Plugin erkennt ob zu importierende Bilder verarbeitet werden sollen * Nein

Es werden immer alle Bilder aus der Datei importiert (kann zu Duplikaten führen)

  • Ja (vergleichen Anzahl)

Importiert die Bilder aus der Datei nur, wenn die Anzahl der Bilder beim Artikel von der Anzahl der Bilder in der Datei abweicht. (kann zu Duplikaten führen)

  • Ja (vergleichen ob vorhanden)

Import die Bilder aus der Datei nur dann, wenn ein Artikel noch keine Bilder hat (Empfehlung)

Deaktivieren von Artikel die keine Bilder haben?

Aktivieren Sie diese Option um zu erreichen, das alle Artikel im Shop deaktiviert werden die keine Bilder haben,

Nur vorhandene Artikel updaten?

Aktivieren Sie diese Option wenn keine neuen Artikel angelegt werden sollen, sondern nur in Shopware vorhandene Artikel aktualisiert werde sollen.

Standard Categorypaths

Steuert das verhalten bei der Zurodnung von Artikelkategorien.

Beispiel: Deutsch|Unterkategorie|Letzte Kategorie

Ist diese Option aktiviert wird der Artikel nur in diese Kategorie eingefügt (Standard ab Shpoware 5.3). Ist diese Funktion nicht aktiviert, so wird der Artikel auch in die Kategorien

Deutsch|Unterkategorie

Deutsch

eingefügt.

Einzigartige Bildnamen

Diese Option hängt verändert zu importierende Bildnamen so, das sie eindeutig sind. Es wird vorher geprüft ob ein Bildname bereits vorhanden ist und wenn ja, wird eine Timestamp (Datum und Uhrzeit) an den Bildnamen angehängt. Das soll Probleme mit doppelten Bildnamen verhindern, wenn mehrere Bilder von verschiedenen Artikel identisch heißen.

Löschaktionen

Cache löschen

Durch diese Option wird vor dem Start der Konfiguration der Shopware-Cache gelöscht. Somit werden die importieren Änderungen auch sofort sichtbar. Achtung: Wenn der Cache sehr voll ist, kann das löschen sehr lange dauern. Möglicherweise kommt es dadurch zu timeouts.

Artikel-Kategorie-Zuordnung löschen

Mit dieser Option kann bestimmt werden ob vor dem Import die Artikel aus allen Kategorien entfernt werden sollen. Die Kategorien bleiben dabei erhalten, nur die Zuordnung wird gelöscht.

Keine vor dem Import -- An den Kategoriezuordnung wird keine Änderung durchgeführt.

Alle vor dem Import -- Es werden für alle Artikel im Shop die Kategoriezuordnungen entfernt.

Alle Artikel löschen

Mit dieser Option werden alle Artikel im Shop, inkl. Medien und Bildern vor dem Import gelöscht. Achtung: Es werden wirklich alle Artikel gelöscht. Das macht nur in wenigen, besonderen Fällen Sinn. Aufgrund der langen Laufzeit kommt es auch hier oft zu Timeouts, wenn die Timeoutwerte der Webserver zu niedrig sind!

Alle Artikelbilder löschen

Durch diese Option werden vor dem Import alle Bilder aller Artikel gelöscht. Und zwar nicht nur die Verknüpfung, sondern auch die Medien selbst. Achtung: Es werden wirklich alle Artikelbilder gelöscht. Das macht nur in wenigen, besonderen Fällen Sinn. Aufgrund der langen Laufzeit kommt es auch hier oft zu Timeouts, wenn die Timeoutwerte der Webserver zu niedrig sind!

Logs löschen

Bei jeder Ausführung einer Konfiguration wird ein Log erstellt (siehe Menupunkt "Vergangene Ausführungen"). Mit dieser Option können Sie steuern wann alte Logs gelöscht werden soll.

Timeouts

Import Block Größe

Mit diesem Wert steuern Sie die Anzahl der Artikel, die pro Import-Durchlauf in einem Block bearbeitet werden. Je größer die Zahl, desto schneller der Import, aber desto größer auch die Gefahr von Timeouts. Denn dann war es bis zum Script-Timeout nicht möglich die angegebene Anzahl der Artikel zu verarbeiten.

Wichtig: Wenn eine Konfiguration über die Shopware Console ausgeführt wird, werden diese Werte ignoriert da es dort zu keinem Timeout kommen kann!

Download

Download Timeout für das herunterladen von externen Quellen. Z.B. die CSV-Datei oder Bilder. Standardwert 30000 Millisekunden (also 30 Sekunden). Kann i.d.R. bedenkenlos auf 300000 (also 300 Sekunden) erhöht werden.

Import

Import Timeout pro Block. Standardwert 30000 Millisekunden (also 30 Sekunden). Kann i.d.R. bedenkenlos auf 300000 (also 300 Sekunden) erhöht werden.

Postprocess

Import Timeout pro Postprecess Block (z.B. für Varianten, Crossselling und Zubehör). Standardwert 30000 Millisekunden (also 30 Sekunden). Kann i.d.R. bedenkenlos auf 300000 (also 300 Sekunden) erhöht werden.

Treiber Einstellungen

Trennzeichen

Spalten in CSV-Dateien werden durch ein Trennezeichen getrennt. Üblicherweise ist es ein ; (Simikolon). Hier kann das Zeichen geändert werden. Das ist nur nötig, wenn Ihre CSV-Datei ein anderes Trennzeichen besitzt.

Kapselungszeichen

Mehrzeilige Spalten müssen mit dem Kapselungszeichen zusammengefasst werden. Üblicherweise ist dies ein Doppelhochkomma. Hier kann das Zeichen geändert werden. Das ist nur nötig, wenn Ihre CSV-Datei ein anderes Trennzeichen besitzt.

Escapezeichen

Kommt das Kapselungszeichen in den eigentlichen Daten vor, muss es entsprechend markiert werden damit es nicht als Kapselungszeichen erkannt wird. Üblicherweise ist dieses Zeichen ein \ (Backslash). Hier kann das Zeichen geändert werden. Das ist nur nötig, wenn Ihre CSV-Datei ein anderes Trennzeichen besitzt.

Lokalisierung

Steuer die Codierung der zu verarbeitenden Datei. Wenn Sie eine ANSI oder latin1 codierte Datei anliefern, muss dieser Wert entsprechend geändert werden.

XML2CSV Konverter aktivieren, XML-Dateien, XML Konfiguration

Diese Optionen steuert die Verarbeitung von zu importierenden XML-Dateien. Siehe Abschnitt XML-Dateien-Importieren in diesem Handbuch.

Reiter Rythmus

Möchsten Sie diese Konfiguration zeitgesteuert über den Shopware Cron ausführen, können Sie die Zeitpunkte zur Ausführung hier bestimmen.

Wichtig: Es müssen immer alle 7 Felder ausgefüllt sein!


Wichtig: Die Konfiguration wird nur dann per Shopware Cron ausgeführt, wenn auch auf der ersten Seite die Option "Cronjob aktiv" gesetzt ist.

Reiter Bezugsmodus

Hier besteimmen Sie woher die zu verarbeitenden Datei kommt oder wohin ein Export gespeochert werden soll. Zur Auswahl stehen. * Upload/Download (manuell)

Diese Option erlaubt kenie automatische Ausführung der Konfiguration, da Sie die Dateien bei Ausführung im Backend hochladen bzw. herunterladen müssen. * FTP

Wenn Sie diese Option wählen können Sie in den 5 Felder darunter die FTP Daten zum laden oder speichern der Datei eingeben

  • Dateipfad / URI

Möchten Sie z.B. eine CSV-Datei von einem Lieferanten herunterladen, oder liegt die zu verarbeitende Datei schon im Dateisystem wählen Sie diese Option. Sie können dann in das Feld "Dateipfad / URI" entweder eine URL oder einen abdoluten Pfad eingeben.

Beispiel

http://meinlieferant.de/export/daten.csv

oder

/var/www/vhosts/meinedomain.de/httpdocs/export/daten.csv

Dynamischer Dateiname bei Bestellexport

Falls Sie einen Bestellexport via CRON ausführen, ist es häufig vorteilhaft, einen dynamischen Dateinamen zum speichern des Exports zu nutzen. Mithilfe der folgenden Tabelle können Sie den Dateinamen so festlegen, dass der Export anhand der aktuellen Uhrzeit benannt wird.

Beispiel:

/bestellungen-{yyyy}-{mm}-{dd}-{HH}-{MM}.csv wird zu /bestellungen-2018-10-06-23-15.csv.

als Beispiel gilt hier das Datum: 6. Oktober 2018, 23 Uhr 15 Minuten 30 Sekunden

Platzhalter Ergebnis
{yyyy} Jahr, 4-stellig (z.B. 2018)
{yy} Jahr, 2-stellig (z.B. 18)
{mm} Monat, mit führender Null (z.B. 10)
{dd} Tag, mit führender Null (z.B. 06)
{HH} Stunde, mit führender Null und 24-Stunden format (z.B. 23)
{MM} Minute, mit führender Null (z.B. 15)
{SS} Sekunde, mit führender Null (z.B. 30)

Reiter Zuordnung

CSV-Treiber

Dieser Reiter ist der wichtigste für eine Konfiguration. Denn hier legen Sie fest welche Spalte Ihrer CSV-Datei welchen Shopware Feld zugeordnet wird. Klicken Sie zum hinzufügen einer Zeile auf den Knopf "Zuordnung hinzufügen". Darauf hin wird eine leere Zeile in der Tabelle erzeugt. Geben Sie anschließend in der linken Spalte manuell den Spaltennamen Ihrer CSV-Datei ein. z.B "Artikelnummer". Wichtig: Bitte auf absolut korrekte Schreibweise achten! Anschließend können Sie in der Spalte "Ziel" das Shopware Feld auswählen, in welches der Inhalt der CSV-Spalte geschrieben werden soll z.B. "Ordernumber".

Wichtig: Unser Plugin bietet an vielen Stellen die Möglichkeit weitere Feldnamen zu benutzen, die Shopware selbst nicht vorsieht. Diese Felder sind im Punkt "Feldbeschreibung und Datenaufbau" dieses Handbuchs erklärt!

Mit den blauen Pfeilen in jeder Zeile können Sie die Reihenfolge der Felder festlegen. Diese dient nur Ihrer Übersicht. Obwohl die Zeilen von oben nach unten verarbeitet werden, können die Spalten in der CSV ja eindeutig über die Spaltenüberschriften identifiziert werden.

Mit dem Bleistift können Sie zu jeder Zuordnungs-Zeile ein PHP-Script hinterlegen und so die zu verarbeitenden Werte beeinflussen. Z.B. um aus 3 Spalten einen Kategoriepfad zusammen zu bauen oder einen Verkaufspreis anhand von EK-Preise zu errechnen, uvm.

Beispiel Kategoriepfad

$data["categorypaths"] = "Deutsch|" . $orgData["wg1"] . "|" . $orgData["wg2"] ;


Beispiel Preisberechnung

$data["price"] = (float)$orgData["ek"] * 0.3;

Mit $data können Sie auf das Zielobjekt zugreifen, mit $orgData auf das Quellobjekt.

Wichtig: Beim Export heißt das Zielobjekt $item!

Längen-Spezifischer Treiber

Die Möglichkeiten der Zuordnung sind bei diesem Treiber genau so wie beim CSV-Treiber. In der Zuordnungstabelle kommen lediglich zwei Spalten "Von Index" und "Bis Index" hinzu. Mit diesen Spalten steuern Sie von welcher Position (von-bis) das entsprechende Feld in Ihrer CSV geht. Hinweis: Bei einer solchen Datendatei sind keine Spaltenüberschriften nötig. Diese dienen nur Ihrer Übersicht.

Reiter Erweitert

Einer der vielen Vorteile des Plugins ist es, an allen wichtigen Stellen des Import/Export Prozesses mittels PHP-Script auf den Ablauf einwirken zu können. Somit ist es möglich gelesene Werte zu verändert, Zielwerte zu bestimmen oder auch ganze Datenzeilen abhängig von bestimmten Bedinungen zu ignoieren, uvm.

Dazu gibt es folgende 4 Script Möglichkeiten.

Script vor jeder Zeile

Dieses Script wird vor jeder Datenzeile ausgeführt. $item enthalt hier die gelesenen, unveränderten Daten. $doImport ist ein Boolean (ja/nein-Wert) mit Sie steuern können ob die aktuelle Zeile überhaupt verarbeitet werden soll, oder nicht.

// Beispiel VK-Preis = 0
if ((float)$item["vkpreis"] == 0) {
    $doImport = false;
} else {
    $doDimport = true;
}

Ist der Vk-Preis = 0, wird $doImport auf false (=nein) gesetzt. In jedem anderen fall auf true (=ja).

Ist $doImport nicht true, so wird die aktuelle Datenzeile nicht importiert.

Script nach jeder Zeile

Dieses Script wird nach jeder Datenzeile ausgeführt. Es gelten die gleichen Bedingungen wie beim Script "Vor jeder Zeile", jedoch ohne die Möglichkeit von $doImport, da die Zeile ja bereits importiert wurde.

Script vor Import

Dieses Script wird global vor dem Import ausgeführt. Und zwar noch bevor die Datendatei geladen wurde. Hier ist es möglich z.B. die Daten-Datei vor dem Import zu verändern oder auch den Pfad der Datendatei dynamisch zu bestimmen.

Beispiel Variabler Quell-Datei-Name

$newSrcFilename = "/var/www/www.domain.de/import/import.csv";
$itemCount = $driver->getItemCount($newSrcFilename, $config);
$_SESSION['runConfig'][$guid]["filePath"] = $newSrcFilename;
$_SESSION["runConfig"][$guid]["progressMessage"] = "Importing 0/" . $itemCount;
$_SESSION["runConfig"][$guid]["items"] = $itemCount;

Script nach Import

Dieses Script wird global nach dem Import ausgeführt. Die Quell-Datei ist komplett verarbeitet und alle Zeilen importiert. Auch das Postprocessing ist abgeschlossen. Dieses Script dient z.B. für das setzen von Datenbankeinträgen, oder Aufräumen das Dateisystems (z.B. Sicherheitskopien der Quelldateien erzeugen), uvm.

Wichtig: Hier gibt es keine nutzbaren Variablen mehr, da der komplett Import bereits abgeschlossen ist.

Reiter Letzter Log

In diesem Reiter sehen Sie die Protokolldatei des letztens Durchlaufs der gewählten Konfiguration. Die Fehlermeldungen sind größtenteils englisch, da das Plugin die Fehler von PHP 1zu1 ausgibt. Ganz oben finden Sie eine Zusammenfassung mit der Anzahl der verarbeiteten Artikel. Hinweis: Dieses Protokoll dient nur zu Ihrer Information und zur Fehlersuche.

Reiter Vergangene Ausführungen

Die Protokolle der vergangenen Ausführungen (siehe auch "Letzter Log") finden Sie in diesem Reiter. Zum öffnen eines Protokolls klicken Sie in der Liste rechts auf das Lupen-Symbol. Das Log wird dann im untern Fenster angezeigt. Hier können Sie gezielt auch einzelne Log-Einträge entfernen.

Aktivierung Cron-Jobs

Um den Shopware-Cron für die automatische Ausführung einer Konfiguration nuzen zu können gehen Sie bitte wie folgt vor:

  1. Konfigurieren Sie Ihren Webserver so, dass er den Shopware Cron einmal pro Minute aufruft. Weitere Informationen zum Aufruf des Shopware Cron finden Sie hier: http://community.shopware.com/Cronjobs_detail_1102.html

  2. Unter "Einstellungen->Grundeinstellungen->Cronjobs" wählen Sie den Cron "AntUniimex" und geben rechts bei "Intervall" manuell eine "1" ein. Das sorgt dafür das der Shopware Cron, den Cron unseres Plugins einmal pro Minute aufruft. Bitte keinesfalls das Häkchen "Bei Fehler deaktivieren" setzen!

  3. In Ihrer Import/Export Konfiguration im Reiter Rythmus die gewünschte Ausführung einstellen

  4. In Ihrer Import-Export Konfiguration im Reiter "Optionen" das Häkchen bei "CronJob aktiv" setzen und die Konfiguration speichern

Hinweis: Der Shopware Cron hat hin und wieder Probleme mit Timeouts. Je nach Serverkonfiguration. Wir empfehlen daher die Ausführung über die Shopware Console!

Unterstuetzung der Shopware Console

Über die Shopware Console können Sie diverse Shopware Funktionen über die Kommandozeile ausführen. Weitere Informationen zur Console finden Sie hier: https://developers.shopware.com/developers-guide/shopware-5-cli-commands/

Auch unser Plugin bietet Befehle für die Shopware Console:

# ant:uniimex:cleanup
# Aufruf durch
bin/console ant:uniimex:cleanup

Diese Option löscht alle deaktivierten Artikel inkl. Mediendateien. Außerdem löscht Sie nicht benutzte Artikeleigenschaften.

# ant:uniimex:delete-inactive-articles
# Aufruf durch
bin/console ant:uniimex:delete-inactive-articles

Diese Option löscht alle deaktivierten Artikel inkl. Mediendateien.

# ant:uniimex:list
# Aufruf durch
bin/console ant:uniimex:list

Diser Befehl listet alle Konfigurationen inkl. er internen Id auf und zeigt auch einen optionalen Ausführungsstatus an. Diese ID ist wichtig für die Ausführung einer Konfiguration über die Console.

# ant:uniimex:run
# Aufruf durch
bin/console ant:uniimex:run <id>
# Beispiel für den Aufruf mit Protkolldatei
bin/console ant:uniimex:run 1 > /var/log/protokoll.txt

Dieser Befehl startet sofort die Konfiguration mit der angegeben Id. Dies ist unsere Empfehlung für die autoamtische Ausführung von Konfigurationen. Die Ausgabe findet auch auf der Console statt, so dass alles in ein Protokoll umgeleitet werden kann-

XML Dateien statt CSV Dateien importieren

Um mit unserem Plugin XML-Dateien verarbeiten zu können, müssen diese erst in ein CSV-Format umgewandelt werden. Zu diesem Zweck haben wir eine eigene Mapping-Sprache "BSQL" entwickelt. Es gibt ein Windows-Programm mit dem Sie eine Konfiguration erstellen können um aus einer XML-Datei eine CSV-Datei zu machen.

Das vorgehen für die Verarbeitung von XML-Dateien ist wie folgt: 1. Erstellung einer Konvertierungs-Konfiguration für XML2CSV in dem BSQL-Windows Programm 2. Hinzufügen dieser Klartext-Konfiguration in das Shopware Plugin im Reiter "Optionen", ganz unten 3. Eingeben der Pfade zur XML-Datei im Shpoware Plugin im Reiter "Optionen"# 4. Aktivieren der XML2CSV Verarbeitung 5. Weiteres Vorgehen wie bei einer CSV Datei (s.o)

Wichtig: Die Umwandlung der XML Daten in CSV Daten findet in einem Cloud-Dienst von antony statt. Um diesen Dienst zu nutzen müssen wir die IP Ihres Servers in unserer Firewall freischalten!

Durch den Cloud-Dienst kann die Umwandlung der Daten zukünftig auch automatisch geschehen!

Das BSQL-Mapping Tool und die Anleitung dafür bekommen Sie auf Anfrage direkt bei unserem Support unter shopware@antony-systemhaus.de

Sonstige Funktionen

Refresh (neu Laden)

Lädt die Liste der Konfigurationen neu und zeigt ggf. den Ausführungsstatus an

Import

Importiert eine zuvor Exportierte Konfiguration (.json-Datei)

Export

Exportiert die gewählte Konfiguration in eine .json-Datei. Diese Funktion dient sowohl zur Sicherung von Konfigurationen, als auch für die Übertragung einer Konfiguration zu einer anderen Shopware Tip:Sie können eine Konfiguartion exportieren und direkt wieder importieren um Sie zu duplizieren.

Medien Verzeichniss bereinigen

Diese Funktion ist veraltet und wird in die Shopware-Console verlagert.

Alle Artikel löschen

Diese Funktion löscht einmalig alle Artikel und Artikelbilder in Shopware.

Wichtig: Bitte nur zu Aufräum- oder Diagnosezwecken nutzen!

Alle Artikelbilder löschen

Diese Funktion löscht einmalig alle Bilder aller in Shopware vorhandenen Artikel.

Wichtig: Bitte nur zu Aufräum- oder Diagnosezwecken nutzen!

Feldbeschreibung und Datenaufbau

Shopware Datenfelder "Artikelimport"

Attributfelder

attr_attr1 - attr_attr20 (Standard Shopware Attribute)

Selbst-Erzeugte Attribute werden als CamelCase notiert.


Freitextfeld: externer_lager_bestand wird zu attr_externerLagerBestand

Freitextfeld: meinlagerbestand wird zu attr_meinlagerberstand, usw


pricegroupName - Übernimmt bzw. erstellt eine Preisgruppe falls sie noch nicht existiert

Shopware Datenfelder "Preisimport"


Shopware Datenfelder "Kundenimport"


Shopware Datenfelder "Bestellungsexport"

Allgemein

orderID: interne Bestellnummer

ordernumber: Bestellnummer

ordertime: Datum der Bestellung

customerID: ID des Kunden

transactionID: ID der Transaktion, die zu der Bestellung gehört

partnerID: ID des Partners

clearedID: ID der Zahlungsart

statusID: ID des Bestellstatus

dispatchID: ID des Lieferstatus

subshopID: ID des Subshops

invoice_amount: Rechnungsbetrag der Bestellung

invoice_amount_net: Netto-Rechnungsbetrag der Bestellung

invoice_shipping: Versandkosten der Bestellung

invoice_shipping_net: Netto-Versandkosten der Bestellungen

netto: Preise ohne MwSt.

payment_description: Name der Bezahlmethode

dispatch_description: Name der Versandmethode

comment: Kommentar zur Bestellung

customercomment: Kommentar zum Kunden

internalcomment: Interner Kommentar

currency_description: Name der Währung

cleareddate: Zeitpunkt der Zahlung

trackingcode: Sendungsverfolgunsnummer

language: nummernbasierte Sprache

currency: nummernbasierte Währung

currencyFactor: Umrechnungsfaktor der Währung

count_positions: Anzahl der Positionen in der Bestellung

orderdetailsID: ID der Bestelldetails

Position

articleID: ID des Artikels

articleordernumber: Bestellnummer des Artikels

name: Name des Artikels

price: Preis des Artikels

quantity: bestellte Anzahl des Artikels

invoice: Gesamtpreis der Position (details.price * details.quantity)

detailattribute1 - detailattribute6: Freitextfelder

releasedate: Erscheinungsdatum des Artikels

tax: Steuersatz

esd: Downloadartikel (ja/nein)

modus: Art der Position

Rechnungsadresse

billing_company: Firma der Rechnungsadresse

billing_department: Abteilung der Rechnungsadresse

billing_salutation: Anrede der Rechnungsadresse

billing_firstname: Vorname der Rechnungsadresse

billing_lastname: Nachname der Rechnungsadresse

billing_street: Straße der Rechnungsadresse

billing_zipcode: Postleitzahl der Rechnungsadresse

billing_city: Stadt der Rechnungsadresse

billing_country: Land der Rechnungsadresse

billing_countryen: Land (englisch) der Rechnungsadresse

billing_countryiso: ISO-Code des Landes der Rechnungsadresse

Lieferadresse

shipping_company: Firma der Lieferadresse

shipping_department: Abteilung der Lieferadresse

shipping_salutation: Anrede der Lieferadresse

shipping_firstname: Vorname der Lieferadresse

shipping_lastname: Nachname der Lieferadresse

shipping_street: Straße der Lieferadresse

shipping_zipcode: Postleitzahl der Lieferadresse

shipping_city: Stadt der Lieferadresse

shipping_country: Land der Lieferadresse

shipping_countryen: Land (englisch) der Lieferadresse

shipping_countryiso: ISO-Code des Landes der Lieferadresse

Details zum Kunden

ustid: Umsatzsteuernummer

phone: Telefonnummer des Kunden

email: Email-Adresse des Kunden

customergroup: Kundengruppe

newsletter: Gibt an, ob der Kunde Newsletter bezieht

affiliate: Gibt an, ob der Kunde auf Grund eines getilten Links die Bestellung aufgegeben hat

orderattribute1 - orderattribute6: Freitextfelder

paymentID: ID der Zahlungsmethode

paymentInstanceFirstname: Weiterführende Zahlungsmethode - Vorname

paymentInstanceLastname: Weiterführende Zahlungsmethode - Nachname

paymentInstanceAddress: Weiterführende Zahlungsmethode - Adresse

paymentInstanceZipCode: Weiterführende Zahlungsmethode - Postleitzahl

paymentInstanceCity: Weiterführende Zahlungsmethode - Stadt

paymentInstanceBankName: Weiterführende Zahlungsmethode - Name der Bank

paymentInstanceBankCode: Weiterführende Zahlungsmethode - Bankleitzahl

paymentInstanceAccountNumber: Weiterführende Zahlungsmethode - Kontonummer

paymentInstanceAccountHolder: Weiterführende Zahlungsmethode - Kontoinhaber

paymentInstanceBic: Weiterführende Zahlungsmethode - BIC

paymentInstanceIban: Weiterführende Zahlungsmethode - IBAN

customernumber: Kundennummer

cleared_description: Name der Zahlungsmethode

status_description: Name des Bestellstatus


Shopware Datenfelder "Tracking Code Import"

ordernumber: Bestellnummer (Primärschlüssel, kann nicht geändert werden)

email: 1/0 bestimmt ob die Shopware Email zur Statusänderung verschickt werden soll (optional)

orderStatus: Neuer Bestellstatus (optional)

paymentStatus: Neuer Zahlstatus (optional)

attribute1..5: Bestellattribute (optional)

trackingcode: Der Trackingcode der Bestellung (optional)


Shopware Datenfelder "Hersteller Import"

Beispielkonfiguration

Beispiel PHP-Scripte

Spaltenüberschriften zu einer CSV vor dem Import hinzufügen

Dieses Script bitte als "Vor dem Import" hinterlegen und die Spaltenüberschriften in der Variable "$headerStr" anpassen.

// Header zur CSV hinzufügen
$headerStr = "ordernumber;ean;name;artikelnummer;hersteller\r\n";
$newSrcFilename = $tempDir . "AntUniimex_" . $guid . ".new.importdata";
$fp = fopen($srcFilename, "rb");
$nfp = fopen($newSrcFilename, "w");
fwrite ($nfp, $headerStr);
while (!feof($fp)) {
  $dummy = fgets($fp);
  fwrite ($nfp, $dummy);
}
unset($dummy);
fclose($nfp);
fclose($fp);
unset($nfp);
unset($fp);
$itemCount = $driver->getItemCount($newSrcFilename, $config);
$_SESSION['runConfig'][$guid]["filePath"] = $newSrcFilename;
$_SESSION["runConfig"][$guid]["progressMessage"] = "Importing 0/" . $itemCount;
$_SESSION["runConfig"][$guid]["items"] = $itemCount;