Wofür das Modul dient
- Übertragung des Katalogs in einen anderen Shop. Neuer Shop, Migration auf eine neuere PrestaShop-Version oder Testshop – die Dateien werden für den Import der Zielversion vorbereitet, nicht für die Version, aus der du exportierst.
- Massenbearbeitung in einer Tabellenkalkulation. Export ausgewählter Spalten, Änderung in Excel oder einer anderen Tabellenkalkulation und erneuter Import in denselben Shop.
- Ständige Datei für Integrationen. Großhändler, Preisvergleich, ERP-System oder ein anderer Shop können eine aktuelle Datei unter einer festen Adresse abrufen, die per CRON aktualisiert wird.
Dateien kompatibel mit dem Import der gewählten PrestaShop-Version
Vier Zielversionen
- Auswahl der Importversion. Im Profil gibst du an, welche PrestaShop-Version die Datei einliest: 1.7.0–1.7.2, 1.7.3–1.7.6, 1.7.7–8.x, 9.x oder „Automatisch“ (Version des aktuellen Shops).
- Spalten in der Reihenfolge des Imports. Die Produktdatei hat von 63 Spalten (1.7.0–1.7.2) bis 68 Spalten (1.7.7–8.x), und für PrestaShop 9 – 66 Spalten. Die Kombinationsdatei hat von 23 bis 26 Spalten. Die Reihenfolge entspricht den Importfeldern der jeweiligen Version, deshalb passt sich die vollständige Datei auf der Importseite selbst an.
- Spalten, die nur in einigen Versionen vorhanden sind. Zum Beispiel werden ISBN, MPN, Schwelle für niedrigen Lagerbestand und Lagerort nur in Dateien für Versionen aufgenommen, deren Import sie unterstützt; Meta-Keywords und Spalten der erweiterten Lagerverwaltung nur in Dateien für 1.7.0–1.7.2.
- Zwei Arten der CSV-Speicherung. PrestaShop 9 liest CSV nach RFC 4180, und die Versionen 1.7 und 8 behandeln Anführungszeichen und Backslashes anders. Das Modul speichert Werte so, dass der Import der jeweiligen Version sie unverändert einliest, und wenn das nicht möglich ist, meldet es dies im Bericht.
- Gespeicherte Spaltenzuordnung. Für jedes Profil erstellt das Modul in PrestaShop eine gespeicherte Konfiguration der Spaltenzuordnung („CSV-Export #ID - Produkte“ und „CSV-Export #ID - Kombinationen“), die auf der Importseite geladen werden kann, wenn die Datei nur einen Teil der Spalten enthält.
- Registerkarte „CSV-Format“. Beschreibung jeder Spalte für die gewählte PrestaShop-Version sowie eine Schritt-für-Schritt-Anleitung für die Importeinstellungen.
Produktdatei und Kombinationsdatei
- Separate Dateien für zwei Importtypen. Produktdatei für den Typ „Produkte“ und Kombinationsdatei für den Typ „Kombinationen“ („Varianten“ in PrestaShop 8 und 9); im Profil kann eine davon oder beide aktiviert werden.
- Vollständige Kombinationsdatei. Die Kombinationsdatei hat immer alle Spalten, weil der Import bei der Aktualisierung von Kombinationen Preis, Gewicht, Bestand und Codes mit den Werten aus der Datei überschreibt – eine fehlende Spalte würde diese Daten löschen.
- Bilder als URL-Adressen. Die Bildspalte enthält die Adressen der Originalbilddateien von der Domain des Profilshops, mit dem Titelbild an erster Stelle, sowie Alternativtexte. Bilder, deren Datei auf dem Server fehlt, werden übersprungen und im Bericht gemeldet.
- Merkmale, Attribute, Tags und Zubehör im Format, das der Import erwartet (u. a. Merkmal als Name:Wert:Position:Benutzerdefiniert).
- Preis mit Steuer als letzte Spalte. Der Import ordnet Spalten zunächst nach Position zu und überspringt dieses Feld, deshalb setzt das Modul es immer ans Ende, damit die übrigen Spalten nicht verschoben werden.
Exportprofile
Datenquelle
- Beliebige Anzahl von Profilen. Jedes Profil beschreibt einen Satz von Dateien und hat einen eigenen Namen, Aktivitätsstatus, Download-Link und eine CRON-Adresse.
- Profilshop. Im Multistore werden Preise, Bestände, Sichtbarkeit und Bilder aus dem gewählten Shop übernommen, und die Datei gibt diesen Shop in der Shop-Spalte an.
- Sprache der Daten. Namen, Beschreibungen, SEO-Felder, Tags, Bildunterschriften und Merkmalswerte werden in der Profilsprache exportiert; dieselbe Sprache wird auf der Importseite als Dateisprache ausgewählt.
Produktfilter
- Nur aktive Produkte.
- Nur Produkte, die auf Lager sind. Produkte mit Bestand 0 oder niedriger sowie Kombinationen, deren eigener Bestand 0 oder weniger beträgt, werden übersprungen.
- Ausgewählte Kategorien. Ein Produkt wird in die Datei aufgenommen, wenn es zu mindestens einer markierten Kategorie gehört; keine Auswahl bedeutet alle Kategorien.
- Ausschlüsse. Überspringen ausgewählter Marken, Lieferanten (nach dem Standardlieferanten des Produkts) sowie Produkte mit den angegebenen ID-Nummern.
Spalten und Sets
- Auswahl der Spalten der Produktdatei mit Aufteilung in Gruppen: Identifikation, Kategorien, Preise und Steuern, Rabatt, Codes (EAN, UPC, ISBN, MPN), Abmessungen und Gewicht, Bestände und Verfügbarkeit, Beschreibungen und SEO, Bilder, Merkmale, Zubehör sowie virtuelles Produkt.
- Vier fertige Sets: „Vollständig – Übertragung in einen anderen Shop“, „Massenbearbeitung in diesem Shop“, „Preise und Bestände“ sowie „Beschreibungen und SEO“.
- ID- und Referenzspalten sind immer in der Datei enthalten, weil der Import daran das Produkt erkennt.
- Die Spaltenliste hängt von der Zielversion ab. Nach dem Ändern der Version im Formular sind nur die Spalten verfügbar, die der Import dieser Version unterstützt.
Produktschlüssel, Kategorien und Trennzeichen
- Produktschlüssel: Produkt-ID (Import mit der Option „Alle ID-Nummern erzwingen“) oder Referenz (Import mit der Option „Produktreferenz als Schlüssel verwenden“). Bei Referenz bleiben die ID-Spalten leer, und der Kombinationsimport findet das Produkt über die Referenz.
- Kategorien als ID – beim Import in denselben Shop – oder als Namenspfade (z. B. Kleidung/Männer/T-Shirts) beim Import in einen anderen Shop. Die Pfade werden in der Standardsprache des Shops gespeichert, weil der Import Kategorien in dieser Sprache sucht; fehlende Kategorien werden vom Import erstellt.
- Feldtrennzeichen: Semikolon (Standard, kompatibel mit Excel bei polnischen Einstellungen), Komma oder senkrechter Strich.
- Trennzeichen für mehrere Werte: Komma (Standard in PrestaShop), senkrechter Strich, Raute, Tilde oder Zirkumflex. Das Modul erlaubt nicht, dasselbe Zeichen wie als Feldtrennzeichen zu setzen.
Kompatibilitätsbericht mit dem PrestaShop-Import
Der PrestaShop-Import bricht die gesamte Datei bei der ersten Zeile ab, die er nicht speichern kann, und ändert einen Teil der Werte ohne Warnung. Das Modul prüft beim Export 34 Arten solcher Fälle und speichert jeden davon in einer separaten CSV-Warndatei (Stufe, Code, Produkt-ID, Kombinations-ID, Spalte, Wert, Beschreibung). Eine Zusammenfassung mit Beispielen ist in der Registerkarte „Dateien und CRON“ sichtbar, aufgeteilt in Fehler, Warnungen und Informationen.
- Zeilen, die der Import ablehnt: Werte, die die PrestaShop-Validierung nicht erfüllen, Produkte ohne Namen in der Profilsprache, Kombinationen mit fehlendem Attributnamen oder fehlendem Attributgruppennamen in der Standardsprache des Shops.
- Daten, die der Import nicht übernimmt: spezifische Preise außer einem einzigen Rabatt für den gesamten Katalog, Inhalte von Paketen, Bezeichnungen von Personalisierungsfeldern, Dateien virtueller Produkte.
- Werte, die der Import ändert: Leerzeichen am Anfang und Ende der Zelle, Wert „0“ bei Merkmalen und Tags, Netto-Betragsrabatt (der Import erstellt ihn als Brutto), Auswirkung der Kombination auf den Stückpreis, ungültiger EAN-13-Code der Kombination, ISBN der Kombination in den Versionen 1.7 und 8.
- Konflikte bei Trennzeichen und Namen: Trennzeichen für mehrere Werte im Inhalt, Doppelpunkt in Merkmalen und Attributen, Schrägstrich im Kategorienamen, sich wiederholende Kategorienamen, Marken-, Lieferanten- oder Kategorienamen, die Zahlen sind.
- Probleme mit dem Schlüssel: Produkte und Kombinationen ohne Referenz, Kombinationen mit doppelter Referenz (der Import würde sie zu einer zusammenführen – das Modul exportiert nur die erste), Zubehör ohne Referenz.
- Zeichen außerhalb von UTF-8 werden durch das Zeichen „?“ ersetzt, damit der übrige Teil der Datei polnische Zeichen beibehält.
Dateigenerierung und CRON
- Generierung im Backend. Die Schaltfläche „Generieren“ in der Profilliste öffnet ein Fenster mit Fortschrittsbalken, Anzahl der verarbeiteten Produkte, Anzahl der Zeilen beider Dateien und Anzahl der Warnungen; die Generierung kann gestoppt werden.
- Verarbeitung in Chargen. Produkte werden in Chargen zu je 100 verarbeitet, sodass ein großer Katalog das Zeitlimit einer einzelnen Anfrage nicht überschreitet.
- Fortsetzung nach Unterbrechung. Wenn ein Durchlauf unterbrochen wird, setzt der nächste Start bei der zuletzt gespeicherten Charge fort, und die Ergebnisdatei ist dieselbe wie bei einem in einem Durchgang ausgeführten Lauf.
- Sichere Veröffentlichung. Neue Dateien ersetzen die vorherigen erst nach Abschluss der Generierung; bis dahin stellt der Link die letzten vollständigen Dateien bereit. Zwei gleichzeitige Durchläufe desselben Profils werden blockiert.
- CRON-Adresse für alle Profile und für jedes Profil einzeln. Die Adresse führt über den Modul-Controller und funktioniert deshalb auch in PrestaShop 9, das direkte Aufrufe von PHP-Dateien im Modulverzeichnis blockiert.
- Fortsetzung per CRON. Wenn die Generierung nicht in das Zeitlimit des Servers passt, beendet der nächste CRON-Aufruf sie an der Stelle, an der sie gestoppt wurde.
- Status in der Modul-Kopfzeile. Die Kopfzeile zeigt an, ob aktive Profile vorhanden sind, ob Dateien generiert wurden, wann CRON zuletzt aufgerufen wurde und ob der letzte Bericht Fehler oder Warnungen enthält.
Dateidownload und Links für Integrationen
- Download im Backend der Produktdatei, der Kombinationsdatei und der Warndatei; bei den Produkt- und Kombinationsdateien sind die Zeilenanzahl und die Größe sichtbar.
- Öffentlicher Link ohne Anmeldung zur Produktdatei und zur Kombinationsdatei, mit einem geheimen Token, das für jedes Profil separat ist. Der Link funktioniert nur für ein aktives Profil.
- Ungültigmachen von Links. Die Schaltfläche „Neuer Download-Link“ erstellt ein neues Profil-Token, und die Schaltfläche „Neues CRON-Token“ – ein neues Token für die CRON-Adressen; die vorherigen Adressen funktionieren nicht mehr.
- Dateien außerhalb des Hauptverzeichnisses des Shops. Generierte Dateien werden im Modulverzeichnis gespeichert, das durch die Datei
.htaccessgeschützt ist, und nur über einen Link mit Token oder an einen Mitarbeiter im Backend ausgegeben.
Dateiformat und Arbeit in Excel
- UTF-8 mit BOM, Semikolon, CRLF-Zeilenenden. Die Datei lässt sich in Excel per Doppelklick mit polnischen Zeichen öffnen.
- Dezimalpunkt und Datumsangaben im Datenbankformat, so wie der PrestaShop-Import sie erwartet. Für die Bearbeitung von Preisen öffnest du die Datei am besten über Daten > Aus Text/CSV mit den Regionseinstellungen „Englisch (Vereinigte Staaten)“.
- Die erste Zeile ist die Kopfzeile mit den Spaltennamen in der Profilsprache; auf der Importseite wird das Überspringen einer Zeile eingestellt.
Administrationsbereich, Berechtigungen und Multistore
- Registerkarten im Menü Katalog: „CSV Export Pro“ (Profilliste), „Dateien und CRON“ sowie „CSV-Format“, verfügbar über die Registerkartenleiste des Moduls.
- PrestaShop-Berechtigungen. Der Zugriff auf die Registerkarten wird in den Standardberechtigungen der Mitarbeiterprofile vergeben; ein Mitarbeiter mit Recht nur zur Ansicht kann keine Dateien generieren und keine Profile ändern.
- Auf Shops beschränkte Mitarbeiter. Ein Mitarbeiter sieht und bearbeitet nur die Profile der Shops, auf die er Zugriff hat. CRON-Adressen, neues CRON-Token und das Löschen von Dateien der Version 1.x sind nur für Mitarbeiter mit Zugriff auf alle Shops verfügbar, weil das CRON-Token jeden Shop bedient.
- Polnische Übersetzung in beiden PrestaShop-Übersetzungssystemen (Wörterbuch und XLF-Kataloge).
Kompatibilität, Installation und Aktualisierung
- PrestaShop 1.7.0–9.x, PHP 7.0–8.5 (deklarierte Kompatibilität). Installation, Dateigenerierung und Deinstallation werden automatisch auf PrestaShop 1.7.4.4, 1.7.5.2, 8.2.6, 9.0.2 und 9.1.5 geprüft, und der vollständige Zyklus Export → Import → Vergleich mit der Datenbank auf PrestaShop 8.2.6 und 9.0.2.
- Ohne externe Bibliotheken und ohne Composer.
- Aktualisierung von Version 1.x. Das Modul überträgt gespeicherte Konfigurationen in Profile, entfernt alte Registerkarten und Einstiegspunkte (
cron.php,get.php) und zeigt in der Registerkarte „Dateien und CRON“ CSV-Dateien an, die Version 1.x im Hauptverzeichnis des Shops hinterlassen hat, damit sie gelöscht werden können. - Deinstallation entfernt Tabellen, Einstellungen, Registerkarten, gespeicherte Importzuordnungen und generierte Dateien des Moduls.
Wichtige Funktionsgrenzen
- Das Modul exportiert Daten; der Import wird mit dem Standard-CSV-Import von PrestaShop durchgeführt, der eigene Einschränkungen hat, die im Kompatibilitätsbericht beschrieben sind.
- Der PrestaShop-Import erkennt Kombinationen ausschließlich über die Referenz – Kombinationen ohne Referenz erzeugen beim erneuten Import in denselben Shop Duplikate.
- In PrestaShop 8 und 9 kann die Kombinationsdatei in einen Shop, in dem Produkte einen Lieferanten haben, nur einmal importiert werden; der zweite Import wird durch einen Datenbankfehler im PrestaShop-Core abgebrochen.
- Ab PrestaShop 8 fügt der Import einen geänderten Merkmalswert neben dem bisherigen hinzu, anstatt ihn zu ersetzen.
- Das Modul exportiert keine Bestellungen, Kunden oder andere Daten außer Produkten und Kombinationen.
- Die CSV-Datei ist nicht gegen Formeln in Tabellenkalkulationen geschützt: Werte, die mit dem Zeichen „=” beginnen, werden unverändert gespeichert, damit der PrestaShop-Import sie exakt übernimmt.