Free cookie consent management tool by TermsFeedAktualizacja preferencji plików cookie

Magento-2-Modul Export Import Categories

71,52 € 58,15 €
Installation von COMPOSER
M2-EXPORT-IMPORT-CATEGORIES
PayPal PayPal
Przelew Przelew

Magento-Module nach klaren Regeln

Du kaufst das Modul einmalig, ohne Domain-Beschränkungen

Tooltip

Kostenlose Installation und Updates über Composer

Tooltip

Partnerprogramm

Tooltip

Technischer Support für Magento

Tooltip

Klare Lizenzierungsregeln für Magento-Module

Tooltip

Sicherheit des Magento-Modul-Codes

Tooltip

Kowal_ExportImportCategories ist ein Magento-2-Modul, das den Export und Import von Kategorieattributen im CSV-Format unter Berücksichtigung des ausgewählten store view ermöglicht. Die Erweiterung wurde für Shops entwickelt, die mit mehreren Sprachversionen und mehreren Shop-Ansichten arbeiten oder Kategoriedaten massenhaft aktualisieren müssen, ohne jede Kategorie manuell im Adminbereich zu bearbeiten.

Das Modul ermöglicht den Export von Kategorien in eine CSV-Datei, die Bearbeitung ausgewählter Attribute außerhalb von Magento und anschließend den Import der Daten im Modus zur Aktualisierung bestehender Kategorien oder zur Erstellung neuer Kategorien. Der Import erfolgt für den angegebenen store view, sodass Übersetzungen von Namen, Beschreibungen, Meta-Tags, URLs und anderen Kategorieattributen komfortabel vorbereitet werden können.

Für wen ist dieses Modul geeignet

Das Modul ist vorgesehen für:

  • Magento-2-Shops mit mehreren Sprachversionen,
  • Content-Teams, die mit CSV-Tabellen arbeiten,
  • Agenturen, die Kategoriekataloge zwischen Umgebungen implementieren,
  • Administratoren, die Kategorienamen, Beschreibungen, Metadaten und URLs massenhaft aktualisieren müssen,
  • Shops, die eigene Kategorieattribute haben und diese gesammelt verwalten möchten,
  • Projekte, in denen Kategoriedaten außerhalb von Magento vorbereitet werden, z. B. durch Übersetzer, die SEO-Abteilung oder ein PIM-System.

Wichtigste Funktionen

  • Export von Kategorien nach CSV für den ausgewählten store view.
  • Import von Kategorien aus CSV für den ausgewählten store view.
  • Modus zur Aktualisierung bestehender Kategorien: update.
  • Modus zur Erstellung neuer Kategorien: insert.
  • Auswahl der in CSV exportierten Attribute.
  • Auswahl der aus CSV importierten Attribute.
  • Automatische Systemspalten, die zur Identifikation von Kategorien erforderlich sind.
  • Validierung der CSV-Header vor dem Import.
  • Validierung der Spaltennamen gegenüber den tatsächlichen Magento-Kategorieattributen.
  • Unterstützung eigener in Magento hinzugefügter Kategorieattribute.
  • Unterstützung von Textwerten für alle Attribute.
  • Unterstützung der Attribute select und multiselect über Optionslabels.
  • Möglichkeit, mit in der Store View sichtbaren Werten oder nur mit Store-View-Überschreibungen zu arbeiten.
  • Modus dry-run, also vollständige Importvalidierung ohne Datenspeicherung.
  • Richtlinie für leere Werte.
  • Strategien zur Behandlung von url_key.
  • Optionales Erstellen eines Permanent Redirect bei Änderung der Kategorie-URL.
  • Unterstützung von Pfaden zu Kategoriebildern.
  • Batch processing für größere Dateien.
  • Richtlinien zur Fehlerbehandlung.
  • Importbericht als CSV.
  • Importhistorie im Adminbereich.

Kategorieexport

Der Export ermöglicht die Erstellung einer CSV-Datei mit Kategorien für den ausgewählten store view. Der Administrator wählt die Shop-Ansicht sowie die Kategorieattribute aus, die in der Datei enthalten sein sollen. Das Modul fügt automatisch die Systemspalten hinzu, die zur Identifikation der Kategorien und zur Beibehaltung der Baumstruktur erforderlich sind.

Der Export kann verwendet werden für:

  • die Vorbereitung von Kategorieübersetzungen,
  • ein Audit der Kategoriedaten,
  • die massenhafte Korrektur von SEO-Metadaten,
  • den Vergleich von Werten zwischen Store Views,
  • die Vorbereitung einer Datei für den Import in derselben oder einer anderen Umgebung,
  • die Archivierung aktueller Kategoriedaten vor Änderungen.

Umfang des Exports

Der Export umfasst Kategorieattribute. Das Modul exportiert keine Produkte, die Kategorien zugewiesen sind. Es führt auch keine Löschvorgänge für Kategorien aus.

Der Administrator kann auswählen:

  • Store View,
  • Startkategorie,
  • Attribute für den Export,
  • CSV-Trennzeichen,
  • Store-View-Wertemodus.

Store-View-Wertemodi beim Export

Das Modul unterstützt zwei Modi für den Export von Werten:

  • resolved_value - exportiert wird der im jeweiligen store view sichtbare Wert, also unter Berücksichtigung des Magento-Fallbacks auf den Standardwert.
  • store_override_only - exportiert wird nur der direkt für den jeweiligen store view überschriebene Wert; wenn der Wert vererbt wird, bleibt die CSV-Zelle leer.

Der Modus resolved_value ist praktisch für redaktionelle Arbeiten, da er den tatsächlich im Shop sichtbaren Wert anzeigt. Der Modus store_override_only ist nützlich, wenn ausschließlich Übersetzungen oder spezifische Überschreibungen für eine bestimmte Shop-Ansicht kontrolliert werden sollen.

Kategorieimport

Der Import ermöglicht das Einlesen einer CSV-Datei und das Speichern ausgewählter Kategorieattribute für den angegebenen store view. Die im Importformular ausgewählte Store View ist maßgeblich, und die Spalte store_view_code aus der CSV wird zur Validierung verwendet, ob die Datei mit der ausgewählten Shop-Ansicht übereinstimmt.

Der Import kann verwendet werden für:

  • die Übersetzung von Kategorien,
  • die Aktualisierung von Kategorienamen,
  • die Aktualisierung von Kategoriebeschreibungen,
  • die Aktualisierung von Meta-Tags,
  • die Aktualisierung von url_key,
  • die Erstellung neuer Kategorien,
  • den Import eigener Kategorieattribute,
  • die Aktualisierung von Menü- und Sichtbarkeitsattributen,
  • den Import von Pfaden zu Kategoriebildern.

Modus update

Der Modus update aktualisiert bestehende Kategorien. Das Modul erstellt in diesem Modus keine neuen Kategorien.

Die Kategorie wird in erster Linie anhand von entity_id gesucht. Wenn entity_id nicht verfügbar ist, kann das Modul category_path verwenden, sofern der Pfad eindeutig auf eine Kategorie verweist.

Der Modus update wird empfohlen für:

  • Kategorieübersetzungen zwischen Store Views,
  • SEO-Korrekturen,
  • Aktualisierungen von Beschreibungen,
  • Aktualisierungen von Namen,
  • Änderungen der Werte eigener Kategorieattribute.

Beispielszenario für eine Übersetzung:

  1. Export der Kategorien aus der Basis-Store-View.
  2. Änderung von store_view_code in der CSV auf den Code der Ziel-Store-View.
  3. Beibehaltung derselben entity_id.
  4. Ergänzung der Übersetzungen in den Spalten namedescriptionmeta_titlemeta_description.
  5. Import im Modus update für die Ziel-Store-View.

In dieser Variante speichert das Modul die ausgewählten Attribute im Kontext der numerischen store_id, die im Importformular ausgewählt wurde.

Modus insert

Der Modus insert erstellt neue Kategorien. In diesem Modus ist entity_id nicht erforderlich, da Magento sie automatisch vergibt.

Für eine neue Kategorie muss ein übergeordnetes Element angegeben werden über:

  • parent_entity_id,
  • oder parent_path.

Der Modus insert wird empfohlen für:

  • die Erstellung neuer Kategoriestrukturen,
  • die Übertragung eines Kategoriebaums zwischen Umgebungen,
  • die Vorbereitung von Kategorien in einer CSV-Tabelle,
  • die Erstellung von Kategorien auf Basis externer Daten.

Wenn der Import sowohl ein übergeordnetes Element als auch ein untergeordnetes Element enthält, sollten die Daten in der Reihenfolge von Kategorien höherer Ebene zu Kategorien niedrigerer Ebene angeordnet sein.

CSV-Format

Die erste Zeile der CSV-Datei muss Spaltenüberschriften enthalten. Die Spalten unterteilen sich in:

  • Systemspalten,
  • Spalten mit Kategorieattributen.

Attributspalten müssen den Magento-Attributcodes entsprechen, z. B.:

  • name,
  • url_key,
  • description,
  • meta_title,
  • meta_description,
  • is_active,
  • include_in_menu.

Systemspalten

Das Modul verwendet die folgenden Systemspalten:

  • store_view_code,
  • entity_id,
  • parent_entity_id,
  • category_path,
  • parent_path,
  • level,
  • position,
  • attribute_set_id.

Systemspalten werden nicht als EAV-Attribute behandelt. Sie dienen der Identifikation von Kategorien, der Validierung der Store View und der Wiederherstellung der Baumstruktur.

CSV-Beispiel für eine Aktualisierung

store_view_code,entity_id,category_path,name,url_key,is_active,include_in_menu,meta_titlepl,13,Default Category/Gear/Bags,Torby,torby,1,1,Torbypl,14,Default Category/Gear/Fitness Equipment,Sprzet fitness,sprzet-fitness,1,1,Sprzet fitness

CSV-Beispiel für die Erstellung von Kategorien

store_view_code,parent_entity_id,parent_path,category_path,name,url_key,is_active,include_in_menudefault,12,Default Category/Gear,Default Category/Gear/Helmets,Helmets,helmets,1,1default,12,Default Category/Gear,Default Category/Gear/Gloves,Gloves,gloves,1,1

Arbeiten mit Textattributen

Das Modul speichert Werte in CSV als Text. Dadurch kann die Datei in einer Tabellenkalkulation bearbeitet, an einen Übersetzer übergeben oder automatisch in einem externen System vorbereitet werden.

Für Attribute vom Typ select und multiselect arbeitet das Modul mit Optionslabels und nicht mit technischen Options-IDs. Das bedeutet, dass in der CSV lesbare Werte sichtbar sind, wie Products onlyPosition oder Price.

Bei multiselect werden mehrere Werte durch das Trennzeichen | getrennt.

Beispiel:

store_view_code,entity_id,category_path,display_mode,available_sort_by,default_sort_bydefault,13,Default Category/Gear/Bags,Products only,Position|Product Name|Price,Position

Wenn das Optionslabel nicht existiert oder nicht eindeutig ist, meldet der Import einen Validierungsfehler.

Richtlinie für leere Werte

Während des Imports wählt der Administrator aus, wie leere CSV-Zellen interpretiert werden sollen:

  • skip_empty - eine leere Zelle ändert den bestehenden Wert nicht.
  • clear_value - eine leere Zelle löscht den Attributwert für die ausgewählte Store View.
  • use_default - eine leere Zelle entfernt die Store-View-Überschreibung und erlaubt Magento, den Standardwert zu verwenden.

Standardmäßig wird für Aktualisierungen skip_empty empfohlen, da dies das Risiko eines versehentlichen Löschens von Daten reduziert.

Behandlung von Kategorie-URLs

Das Modul ermöglicht die Konfiguration einer Strategie für url_key:

  • use_csv_value - verwendet den Wert aus der CSV.
  • generate_from_name - generiert url_key auf Basis des Attributs name.
  • keep_existing - behält im Modus update den aktuellen url_key bei.
  • magento_default - überlässt die URL-Behandlung dem Standardmechanismus von Magento.

Der Administrator kann außerdem festlegen, ob bei einer Änderung von url_key Permanent Redirects erstellt werden sollen.

Diese Konfiguration ist insbesondere bei Übersetzungen wichtig, da verschiedene Shops unterschiedliche Strategien verwenden können:

  • übersetzte URLs für jede Sprache,
  • gemeinsame URLs über Sprachversionen hinweg,
  • automatisch aus Kategorienamen generierte URLs,
  • manuell verwaltete SEO-URLs.

Kategoriebilder

Das Modul kann Attribute von Kategoriebildern importieren, wenn die entsprechenden Spalten für den Import ausgewählt werden.

Standardmäßiges Quellverzeichnis:

pub/media/import/categories

In der CSV wird ein Textpfad relativ zu diesem Verzeichnis angegeben, z. B.:

gear/bags.jpg

Das Modul validiert das Vorhandensein der Datei sowie die Dateierweiterung. Unterstützt werden sichere Grafikformate wie:

  • jpg,
  • jpeg,
  • png,
  • webp,
  • gif.

Dry-Run-Modus

Der Modus dry-run ermöglicht das Ausführen der Importvalidierung, ohne Daten in Magento zu speichern.

In diesem Modus:

  • liest das Modul die CSV,
  • validiert die Header,
  • validiert die Store View,
  • prüft das Vorhandensein von Kategorien oder übergeordneten Kategorien,
  • prüft Attribute,
  • ordnet Werte für select und multiselect zu,
  • prüft Bilder,
  • generiert einen Bericht mit Fehlern und Warnungen,
  • speichert keine Kategorien.

Dies ist der empfohlene erste Schritt vor jedem größeren Import.

Batch processing

Der Import erfolgt in Batches. Die Batchgröße kann im Importformular konfiguriert werden.

Standardwert:

100 wierszy

Batch processing reduziert das Risiko von Timeouts und übermäßigem Speicherverbrauch bei größeren Dateien.

Fehlerrichtlinie

Das Modul unterstützt drei Verhaltensvarianten bei Fehlern:

  • skip_invalid_rows - fehlerhafte Zeilen werden übersprungen, korrekte Zeilen werden weiter importiert.
  • stop_on_first_error - der Import wird nach dem ersten Fehler gestoppt.
  • all_or_nothing - wenn eine beliebige Zeile einen Fehler enthält, werden keine Daten gespeichert.

Für große Importe wird skip_invalid_rows empfohlen, da damit korrekte Daten verarbeitet und ein Problembericht für die übrigen Zeilen erstellt werden kann.

Berichte und Importhistorie

Nach dem Import generiert das Modul einen CSV-Bericht mit:

  • Zeilennummer,
  • Kategorie-ID,
  • Status,
  • Meldung,
  • Liste der geänderten Attribute.

Die Importhistorie ist im Adminbereich verfügbar. Der Administrator kann prüfen:

  • Importdatum,
  • Admin-Benutzer,
  • Store View,
  • Importmodus,
  • Dateiname,
  • Anzahl der Zeilen,
  • Anzahl der erfolgreichen Vorgänge,
  • Anzahl der Fehler,
  • Information, ob der Import als dry-run ausgeführt wurde,
  • den Importbericht herunterladen.

Sicherheit

Das Modul verwendet Magento ACL und fügt separate Berechtigungen für Export, Import und Importhistorie hinzu.

Der Import ist abgesichert durch:

  • Validierung der Header,
  • Validierung der Attributcodes,
  • Validierung der Store View,
  • Validierung erforderlicher Spalten,
  • Validierung von Werttypen,
  • Validierung von Optionslabels,
  • Validierung von Bilddateien,
  • Fehlerberichte pro Zeile.

Das Modul löscht keine Kategorien und importiert keine Produkte, die Kategorien zugewiesen sind.

Typische Anwendungsfälle

Kategorieübersetzungen

Sie exportieren Kategorien aus der Basis-Store-View, ergänzen die Übersetzungen in der CSV, ändern store_view_code auf den Code der Ziel-Store-View und importieren die Daten im Modus update.

Massenhafte SEO-Aktualisierung

Sie exportieren die Attribute meta_titlemeta_descriptionurl_key, bearbeiten sie in der CSV und importieren nur die ausgewählten Spalten.

Erstellung einer neuen Kategoriestruktur

Sie bereiten eine CSV-Datei mit category_pathparent_pathname und anderen erforderlichen Attributen vor und importieren sie anschließend im Modus insert.

Aktualisierung eigener Kategorieattribute

Wenn der Shop eigene Kategorieattribute hat, liest das Modul diese dynamisch aus EAV aus und ermöglicht ihre Auswahl beim Export und Import.

Position im Magento-Adminbereich

Nach der Installation ist das Modul verfügbar unter:

System > Data Transfer > Export/Import Categories

Verfügbare Ansichten:

  • Export Categories,
  • Import Categories,
  • Import History.

Installations- und Konfigurationsanleitung für das Modul Kowal_ExportImportCategories

Dieses Dokument beschreibt die Installation, Konfiguration und Nutzung des Moduls Kowal_ExportImportCategories für Magento 2. Die Anleitung berücksichtigt Informationen aus der Datei README.md sowie die im Modul implementierten Funktionen.

Anforderungen

  • Magento 2.
  • PHP kompatibel mit der Magento-Installation, empfohlen PHP 8.1 oder neuer.
  • Zugriff auf Magento CLI.
  • Zugriff auf Composer.
  • Magento-Administratorrechte.
  • Zugriff auf das Modul-Repository.
  • Für den Bildimport: Möglichkeit, Dateien im Verzeichnis pub/media/import/categories abzulegen.

Installation über Composer

Das Modul ist über ein Composer-Repository verfügbar.

1. Composer-Repository hinzufügen

composer config repositories.export.import.categories vcs https://github.com/kowalco/export-import-categories

2. Zugriffstoken für das private GitHub-Repository hinzufügen

Wenn das Repository privat ist, konfigurieren Sie den GitHub-Token:

composer config --global --auth github-oauth.github.com 

Ersetzen Sie  durch Ihren eigenen Zugriffstoken.

3. Modul installieren

composer require kowal/module-export-import-categories

4. Modul in Magento aktivieren

bin/magento module:enable Kowal_ExportImportCategories

5. Magento-Update ausführen

bin/magento setup:upgrade

6. Cache leeren

bin/magento cache:flush

7. Optional DI-Kompilierung ausführen

Auf Produktionsumgebungen oder im production-Modus:

bin/magento setup:di:compile

8. Optional statische Assets bereitstellen

Wenn die Umgebung dies erfordert:

bin/magento setup:static-content:deploybin/magento cache:flush

Manuelle Installation in app/code

Alternativ kann das Modul manuell im Verzeichnis abgelegt werden:

app/code/Kowal/ExportImportCategories

Nach dem Kopieren der Dateien führen Sie aus:

bin/magento module:enable Kowal_ExportImportCategoriesbin/magento setup:upgradebin/magento cache:flush

Im production-Modus führen Sie zusätzlich aus:

bin/magento setup:di:compile

Installation prüfen

Prüfen Sie nach der Installation, ob das Modul aktiv ist:

bin/magento module:status Kowal_ExportImportCategories

Das Modul sollte in der Liste der aktiven Module enthalten sein.

Gehen Sie im Adminbereich zu:

System > Data Transfer > Export/Import Categories

Es sollten drei Einträge sichtbar sein:

  • Export Categories,
  • Import Categories,
  • Import History.

ACL-Berechtigungen

Das Modul fügt separate Administratorberechtigungen hinzu:

  • Zugriff auf den Hauptbereich Export/Import Categories,
  • Kategorieexport,
  • Kategorieimport,
  • Importhistorie.

Wenn ein Admin-Benutzer das Modulmenü nicht sieht, prüfen Sie die Benutzerrolle unter:

System > Permissions > User Roles

Vergeben Sie anschließend die entsprechenden Berechtigungen für die Modulressourcen.

Position des Moduls im Adminbereich

Das Modul ist verfügbar unter:

System > Data Transfer > Export/Import Categories

Ansichten:

  • Export Categories - Export von Kategorien nach CSV.
  • Import Categories - Import von Kategorien aus CSV.
  • Import History - Importhistorie und Berichte.

Exportkonfiguration

Die Exportansicht ermöglicht die Erstellung einer CSV-Datei mit Kategorien.

Exportfelder

Store View

Wählt die Store View aus, aus der die Werte der Kategorieattribute gelesen werden.

Wenn Sie eine Sprach-Store-View auswählen, kann der Export je nach Wertemodus entweder spezifische Werte für diese Store View oder aus dem Default Scope geerbte Werte enthalten.

Start Category ID

Optionales Feld, mit dem der Export auf eine ausgewählte Kategorie und ihren Unterbaum beschränkt werden kann.

Wenn das Feld leer bleibt, exportiert das Modul Kategorien ab der Root Category der ausgewählten Store View.

Store View Value Mode

Legt fest, wie von der Store View abhängige Werte exportiert werden.

Verfügbare Varianten:

  • resolved_value,
  • store_override_only.

resolved_value exportiert den in der ausgewählten Store View sichtbaren Wert unter Berücksichtigung des Magento-Fallbacks.

store_override_only exportiert nur den für die ausgewählte Store View überschriebenen Wert. Wenn der Wert aus dem Default Scope geerbt wird, bleibt die CSV-Zelle leer.

CSV Delimiter

CSV-Trennzeichen. Standardmäßig:

,

Es kann ein anderes Trennzeichen verwendet werden, wenn die Datei in einem Tool bearbeitet wird, das z. B. ein Semikolon erfordert.

Attributes

Liste der in Magento verfügbaren Kategorieattribute.

Das Modul liest Attribute dynamisch aus EAV aus, daher können in der Liste auch eigene Kategorieattribute erscheinen, die im Projekt hinzugefügt wurden.

Systemspalten werden automatisch hinzugefügt und müssen nicht ausgewählt werden.

Systemspalten im Export

Der Export sollte immer Systemspalten enthalten:

  • store_view_code,
  • entity_id,
  • parent_entity_id,
  • category_path,
  • parent_path,
  • level,
  • position,
  • attribute_set_id.

Diese Spalten dienen der Identifikation von Kategorien, der Validierung der Store View und der Verarbeitung der Baumstruktur.

Importkonfiguration

Die Importansicht ermöglicht das Einlesen einer CSV-Datei und das Speichern von Kategoriedaten.

Importfelder

Store View

Wählt die Store View aus, in der die Werte gespeichert werden.

Dieses Feld bestimmt die numerische store_id, die beim Speichern in Magento-Tabellen verwendet wird.

Die Spalte store_view_code aus der CSV wird nicht direkt in store_id umgewandelt. Sie wird zur Validierung verwendet, ob die Datei zur ausgewählten Store View passt.

Beispiel:

  • im Formular wählen Sie eine Store View mit store_id = 1,
  • in der CSV muss store_view_code enthalten sein, der dieser Store View entspricht,
  • das Modul speichert die Daten unter Verwendung von store_id = 1.

Import Mode

Verfügbare Modi:

  • update,
  • insert.

update aktualisiert bestehende Kategorien.

insert erstellt neue Kategorien.

CSV File

CSV-Datei mit Headern in der ersten Zeile.

Die Datei sollte in UTF-8 kodiert sein.

CSV Delimiter

CSV-Trennzeichen. Es muss dem in der Datei verwendeten Trennzeichen entsprechen.

Unknown Columns Policy

Legt das Verhalten für Spalten fest, die weder Systemspalten noch bekannte Kategorieattribute sind.

Verfügbare Varianten:

  • error - der Import meldet einen Fehler für unbekannte Spalten.
  • ignore - unbekannte Spalten werden ignoriert.

Empfohlene Variante:

error

Empty Values Policy

Legt fest, wie das Modul leere CSV-Zellen interpretiert.

Verfügbare Varianten:

  • skip_empty,
  • clear_value,
  • use_default.

skip_empty bedeutet, dass eine leere Zelle den aktuellen Wert nicht ändert.

clear_value bedeutet, dass eine leere Zelle den Attributwert löscht.

use_default bedeutet, dass eine leere Zelle die Store-View-Überschreibung entfernt und Magento erlaubt, den Standardwert zu verwenden.

Empfohlene Variante für Aktualisierungsimporte:

skip_empty

URL Key Strategy

Legt fest, wie das Attribut url_key behandelt wird.

Verfügbare Varianten:

  • use_csv_value,
  • generate_from_name,
  • keep_existing,
  • magento_default.

use_csv_value speichert url_key aus der CSV.

generate_from_name generiert url_key auf Basis des Werts name.

keep_existing behält im Modus update den bestehenden url_key bei.

magento_default überlässt die URL-Behandlung dem Standardmechanismus von Magento.

Create permanent redirect for URL key changes

Diese Option legt fest, ob Magento bei einer Änderung von url_key einen Permanent Redirect erstellen soll.

Es lohnt sich, sie zu aktivieren, wenn eine Änderung der Kategorie-URL SEO-Weiterleitungen von alten Adressen erhalten soll.

Images Base Directory

Basisverzeichnis für den Import von Kategoriebildern relativ zu pub/media.

Standardmäßig:

import/categories

Vollständiger Pfad in Magento:

pub/media/import/categories

Wenn Sie in der CSV Folgendes angeben:

gear/bags.jpg

sucht das Modul nach der Datei:

pub/media/import/categories/gear/bags.jpg

Error Policy

Legt das Importverhalten bei Fehlern fest.

Verfügbare Varianten:

  • skip_invalid_rows,
  • stop_on_first_error,
  • all_or_nothing.

skip_invalid_rows überspringt fehlerhafte Zeilen und setzt den Import fort.

stop_on_first_error stoppt den Import nach dem ersten Fehler.

all_or_nothing erfordert die Korrektheit der gesamten Datei; wenn ein Fehler auftritt, sollte der Import keine Daten speichern.

Empfohlene Variante für große Dateien:

skip_invalid_rows

Batch Size

Anzahl der in einem Batch verarbeiteten Zeilen.

Standardmäßig:

100

Ein niedrigerer Wert reduziert den Speicherverbrauch. Ein höherer Wert kann den Import auf leistungsfähigeren Umgebungen beschleunigen.

Attributes to Import

Liste der Attribute, die importiert werden sollen.

Der Import aktualisiert nur die ausgewählten Attribute. Wenn eine Spalte in der CSV vorhanden ist, das Attribut im Formular jedoch nicht ausgewählt wurde, sollte das Modul es nicht speichern.

Dry Run

Validierungsmodus ohne Datenspeicherung.

Es wird empfohlen, dry-run vor dem eigentlichen Import auszuführen, insbesondere bei großen Dateien oder SEO-Änderungen.

Modus import/update

Der Modus update dient zur Aktualisierung bestehender Kategorien.

Erforderliche Daten

Die CSV muss enthalten:

  • store_view_code,
  • entity_id oder category_path,
  • mindestens eine Spalte eines ausgewählten Attributs.

So funktioniert die Kategorieidentifikation

Das Modul versucht, die Kategorie zu finden über:

  1. entity_id,
  2. category_path, wenn entity_id leer ist.

entity_id ist der beste Identifikator, wenn der Import in derselben Magento-Umgebung erfolgt.

category_path ist zwischen Umgebungen besser übertragbar, muss jedoch eindeutig sein.

Beispiel für die Aktualisierung von Übersetzungen

store_view_code,entity_id,category_path,name,url_key,meta_title,meta_descriptionpl,13,Default Category/Gear/Bags,Torby,torby,Torby,Torby i akcesoriapl,14,Default Category/Gear/Gloves,Rekawiczki,rekawiczki,Rekawiczki,Rekawiczki sportowe

Importeinstellungen:

  • Store View: polnische Store View,
  • Import Modeupdate,
  • Attributes to Importnameurl_keymeta_titlemeta_description,
  • URL Key Strategyuse_csv_value,
  • Empty Values Policyskip_empty,
  • zuerst Dry Run, danach der eigentliche Import.

Modus import/insert

Der Modus insert dient zur Erstellung neuer Kategorien.

Erforderliche Daten

Die CSV muss enthalten:

  • store_view_code,
  • category_path,
  • parent_entity_id oder parent_path,
  • name,
  • mindestens eine Spalte eines ausgewählten Attributs.

entity_id ist nicht erforderlich, da Magento sie automatisch vergibt.

Beispiel für die Erstellung von Kategorien

store_view_code,parent_entity_id,parent_path,category_path,name,url_key,is_active,include_in_menudefault,12,Default Category/Gear,Default Category/Gear/Helmets,Helmets,helmets,1,1default,12,Default Category/Gear,Default Category/Gear/Gloves,Gloves,gloves,1,1

Importeinstellungen:

  • Store View: default store view,
  • Import Modeinsert,
  • Attributes to Importnameurl_keyis_activeinclude_in_menu,
  • URL Key Strategyuse_csv_value oder generate_from_name,
  • Error Policyskip_invalid_rows,
  • zuerst Dry Run.

Arbeiten mit select und multiselect

Das Modul unterstützt select und multiselect über Optionslabels.

Technische Options-IDs müssen nicht angegeben werden.

Beispiel:

store_view_code,entity_id,category_path,display_mode,available_sort_by,default_sort_bydefault,13,Default Category/Gear/Bags,Products only,Position|Product Name|Price,Position

Bei multiselect werden mehrere Werte durch das Trennzeichen getrennt:

|

Wenn das Label nicht existiert oder nicht eindeutig ist, meldet der Import einen Fehler.

Import von Kategoriebildern

Legen Sie vor dem Import von Bildern die Dateien im Verzeichnis ab:

pub/media/import/categories

CSV-Beispiel:

store_view_code,entity_id,category_path,image,thumbnaildefault,13,Default Category/Gear/Bags,gear/bags.jpg,gear/bags-thumb.jpg

Importeinstellungen:

  • Images Base Directoryimport/categories,
  • ausgewählte Attribute: imagethumbnail.

Das Modul prüft, ob die Dateien existieren und unterstützte Erweiterungen haben.

Importbericht

Nach dem Import generiert das Modul einen CSV-Bericht.

Der Bericht enthält:

  • Zeilennummer,
  • Kategorie-ID,
  • Status,
  • Meldung,
  • geänderte Attribute.

Statuswerte können umfassen:

  • success,
  • error,
  • skipped_no_change,
  • skipped_existing.

Importhistorie

Die Importhistorie ist verfügbar unter:

System > Data Transfer > Export/Import Categories > Import History

Die Historie enthält:

  • Importdatum,
  • Admin-Benutzer,
  • Store View,
  • Importmodus,
  • Dateiname,
  • Anzahl der Zeilen,
  • Anzahl der erfolgreichen Vorgänge,
  • Anzahl der Fehler,
  • Information zu dry-run,
  • Download-Link für den Bericht.

Empfohlener Arbeitsprozess

Sicherer Aktualisierungsimport

  1. Exportieren Sie die aktuellen Kategorien.
  2. Bewahren Sie die Originaldatei als Backup auf.
  3. Bereiten Sie Änderungen in einer Kopie der CSV vor.
  4. Stellen Sie sicher, dass store_view_code der Ziel-Store-View entspricht.
  5. Wählen Sie den Import update.
  6. Wählen Sie nur die Attribute aus, die Sie ändern möchten.
  7. Setzen Sie Empty Values Policy auf skip_empty.
  8. Führen Sie Dry Run aus.
  9. Prüfen Sie den Bericht.
  10. Führen Sie den eigentlichen Import aus.
  11. Leeren Sie den Cache, wenn die Änderungen nicht sofort sichtbar sind.

Sicherer Import neuer Kategorien

  1. Bereiten Sie eine CSV mit category_pathparent_path oder parent_entity_id vor.
  2. Stellen Sie sicher, dass die übergeordneten Kategorien existieren oder früher in der Datei vorkommen.
  3. Wählen Sie den Import insert.
  4. Wählen Sie mindestens name sowie andere erforderliche Attribute aus.
  5. Führen Sie Dry Run aus.
  6. Korrigieren Sie die Fehler aus dem Bericht.
  7. Führen Sie den eigentlichen Import aus.

Cache und Indizes

Nach dem Import von Kategorieänderungen empfiehlt es sich, den Magento-Cache zu aktualisieren:

bin/magento cache:clean

Wenn der Shop nach größeren Katalogänderungen eine manuelle Reindizierung erfordert:

bin/magento indexer:reindex

In typischen Magento-Installationen sollte das Speichern von Kategorien über die Standardmechanismen von Magento die entsprechenden Prozesse im Zusammenhang mit dem Kategoriemodell auslösen, nach großen Importen wird jedoch eine Kontrolle von Cache und Indizes empfohlen.

Häufige Probleme

Der Import meldet einen nicht übereinstimmenden store_view_code

Prüfen Sie, ob der Code in der Spalte store_view_code der im Importformular ausgewählten Store View entspricht.

Der Import ändert keine Werte

Prüfen Sie:

  • ob das Attribut in Attributes to Import ausgewählt wurde,
  • ob die CSV-Zelle nicht leer ist,
  • ob Empty Values Policy nicht auf skip_empty gesetzt ist,
  • ob der Import nicht als Dry Run ausgeführt wurde.

Select oder multiselect meldet einen Fehler

Prüfen Sie, ob das Optionslabel in der CSV exakt dem Optionslabel in Magento für die ausgewählte Store View entspricht.

Das Bild wird nicht importiert

Prüfen Sie:

  • ob die Datei in pub/media/import/categories existiert,
  • ob der Pfad in der CSV korrekt ist,
  • ob die Dateierweiterung unterstützt wird,
  • ob das Bildattribut für den Import ausgewählt wurde.

Insert meldet einen fehlenden Parent

Prüfen Sie parent_entity_id oder parent_path. Der Parent muss in Magento existieren oder früher in der Importdatei enthalten sein.

Deinstallation des Moduls

Wenn das Modul über Composer installiert wurde:

composer remove kowal/module-export-import-categoriesbin/magento setup:upgradebin/magento cache:flush

Stellen Sie vor der Deinstallation sicher, ob die Importhistorie gelöscht werden darf. Das Modul erstellt die Tabelle:

kowal_export_import_categories_history
Implemented in real Magento 2 stores
Case study: rozbudowa tandembaits.com o nowe wersje językowe

Klient

tandembaits.com to sklep internetowy działający w branży wędkarskiej. Oferta sklepu jest oparta na specjalistycznym asortymencie, w którym poprawne nazwy kategorii, precyzyjne opisy oraz dobrze przygotowane adresy URL mają bezpośrednie znaczenie dla użyteczności sklepu, SEO i komunikacji z klientami w różnych krajach.

Wyzwanie

W ramach rozbudowy sklepu o nowe wersje językowe klient potrzebował skutecznego sposobu zarządzania kategoriami w Magento 2.

Największym problemem była specyfika branży wędkarskiej. Nazwy kategorii nie są prostymi, uniwersalnymi etykietami. Często odnoszą się do konkretnych technik łowienia, typów przynęt, akcesoriów, serii produktowych albo pojęć używanych tylko przez zaawansowanych wędkarzy.

Przy 10 wersjach językowych ręczne zarządzanie kategoriami w panelu Magento było zbyt czasochłonne i podatne na błędy. Klient potrzebował mieć pełną kontrolę nad:

  • nazwami kategorii,
  • adresami URL kategorii,
  • opisami kategorii,
  • meta danymi SEO,
  • wartościami specyficznymi dla każdego store view,
  • spójnością struktury kategorii między wersjami językowymi.

Skala pracy obejmowała kilkadziesiąt kategorii w 10 wersjach językowych. Oznaczało to setki wartości tekstowych do przygotowania, sprawdzenia, poprawienia i zaimportowania.

Problem biznesowy

Standardowa praca w panelu Magento wymagałaby edycji każdej kategorii osobno dla każdego store view. Przy kilkudziesięciu kategoriach i 10 językach taki proces byłby powolny i trudny do kontrolowania.

Najważniejsze ryzyka przy ręcznej pracy:

  • pomyłki w wyborze store view,
  • niespójne tłumaczenia nazw kategorii,
  • przypadkowe nadpisanie wartości domyślnych,
  • błędne albo zduplikowane adresy URL,
  • brak wygodnego przeglądu wszystkich kategorii w jednym miejscu,
  • trudność w przekazaniu danych tłumaczom lub osobom odpowiedzialnym za SEO,
  • brak prostego sposobu walidacji zmian przed zapisem.

Klient potrzebował procesu, który pozwoli przygotować dane zbiorczo, sprawdzić je przed importem i bezpiecznie zapisać tylko wybrane atrybuty dla konkretnego store view.

Rozwiązanie

Dla tego scenariusza zastosowano moduł Export Import Categories dla Magento 2.

Moduł umożliwił eksport kategorii do pliku CSV, przygotowanie danych językowych poza panelem Magento oraz ponowny import wartości do wybranego store view.

Proces został oparty na trybie update, ponieważ struktura kategorii już istniała w sklepie. Celem nie było tworzenie nowego drzewa kategorii, ale uzupełnienie i poprawienie danych dla kolejnych wersji językowych.

Zakres użycia modułu

W projekcie kluczowe były następujące funkcje modułu:

  • eksport kategorii z bazowego store view,
  • zachowanie entity_id jako stabilnego identyfikatora kategorii,
  • zmiana store_view_code na kod docelowej wersji językowej,
  • import w trybie update,
  • wybór konkretnych atrybutów do importu,
  • zarządzanie nazwami kategorii,
  • zarządzanie url_key,
  • zarządzanie opisami kategorii,
  • kontrola pustych wartości,
  • walidacja pliku przed właściwym importem,
  • raport importu.

Proces wdrożony w projekcie

1. Eksport kategorii

Najpierw wykonano eksport kategorii z bazowego store view. Plik CSV zawierał kolumny systemowe oraz wybrane atrybuty wymagane do przygotowania wersji językowych.

Najważniejsze kolumny systemowe:

  • store_view_code,
  • entity_id,
  • category_path,
  • parent_path.

Najważniejsze atrybuty robocze:

  • name,
  • url_key,
  • description,
  • meta_title,
  • meta_description.

2. Przygotowanie danych językowych

Na podstawie wyeksportowanego CSV przygotowano osobne dane dla poszczególnych wersji językowych.

Dzięki temu osoby odpowiedzialne za treści mogły pracować w arkuszu, widząc wiele kategorii jednocześnie. Było to szczególnie ważne w branży wędkarskiej, gdzie nazwy kategorii muszą być zgodne z lokalną terminologią i realnym sposobem wyszukiwania produktów przez klientów.

3. Zachowanie identyfikatorów kategorii

W plikach importowych zachowano entity_id, aby moduł mógł jednoznacznie dopasować wiersze CSV do istniejących kategorii Magento.

To pozwoliło importować tłumaczenia bez ryzyka utworzenia duplikatów kategorii.

4. Zmiana store view

Dla każdej wersji językowej ustawiano odpowiedni store_view_code w CSV oraz wybierano ten sam store view w formularzu importu.

Moduł walidował zgodność tych danych. Dzięki temu ograniczono ryzyko przypadkowego importu tłumaczeń do niewłaściwego widoku sklepu.

5. Import w trybie update

Import wykonywano w trybie update, wybierając tylko te atrybuty, które miały zostać zmienione dla danej wersji językowej.

Dzięki temu moduł nie ingerował w pozostałe dane kategorii.

6. Walidacja i dry-run

Przed właściwym importem można było uruchomić walidację bez zapisu danych.

Tryb dry-run pozwalał sprawdzić:

  • czy plik CSV ma poprawne kolumny,
  • czy store_view_code pasuje do wybranego store view,
  • czy entity_id wskazuje istniejące kategorie,
  • czy wybrane atrybuty istnieją w Magento,
  • czy import nie zawiera błędów blokujących zapis.

7. Raport po imporcie

Po imporcie moduł generował raport, który pozwalał sprawdzić status poszczególnych wierszy.

Raport był szczególnie przydatny przy pracy na wielu językach, ponieważ pozwalał szybko wykryć ewentualne błędy w konkretnym pliku albo konkretnej kategorii.

Dlaczego CSV było właściwym formatem

CSV był praktycznym formatem dla tego projektu, ponieważ:

  • można go łatwo edytować w arkuszu kalkulacyjnym,
  • można przekazać go tłumaczom,
  • można porównać wartości między językami,
  • można przygotować wiele wersji językowych na bazie jednego eksportu,
  • można pracować na konkretnych kolumnach bez ręcznego klikania w panelu Magento,
  • można zachować kontrolę nad entity_id i store_view_code.

Efekt

Moduł umożliwił klientowi zarządzanie kategoriami w 10 wersjach językowych w sposób uporządkowany i powtarzalny.

Zamiast ręcznej edycji każdej kategorii w panelu Magento, zespół mógł pracować na plikach CSV, przygotowywać tłumaczenia zbiorczo i importować tylko wybrane atrybuty dla konkretnego store view.

Najważniejsze korzyści:

  • szybsze przygotowanie nowych wersji językowych,
  • większa kontrola nad nazwami kategorii,
  • pełna kontrola nad adresami URL,
  • łatwiejsze zarządzanie opisami kategorii,
  • możliwość pracy poza panelem Magento,
  • mniejsze ryzyko błędów przy wielu store view,
  • walidacja danych przed zapisem,
  • raportowanie wyników importu.

Znaczenie dla SEO

W projekcie szczególne znaczenie miała możliwość kontrolowania url_key, nazw kategorii oraz opisów.

Dla sklepu działającego w wielu językach automatyczne tłumaczenie lub przypadkowe kopiowanie nazw kategorii nie jest wystarczające. Każdy rynek może używać innych określeń branżowych, a w wędkarstwie różnice terminologiczne są szczególnie istotne.

Moduł pozwolił przygotować wartości SEO świadomie dla każdej wersji językowej:

  • lokalne nazwy kategorii,
  • lokalne adresy URL,
  • opisy dopasowane do języka,
  • meta tytuły,
  • meta opisy.

Podsumowanie

Rozbudowa tandembaits.com o 10 wersji językowych wymagała narzędzia, które pozwoli sprawnie zarządzać kategoriami Magento 2 na poziomie store view.

Export Import Categories rozwiązał ten problem, przenosząc pracę z ręcznej edycji w panelu Magento do kontrolowanego procesu opartego o CSV, walidację i import wybranych atrybutów.

W efekcie klient otrzymał możliwość wygodnego zarządzania specjalistycznymi nazwami kategorii, adresami URL i opisami dla wielu języków bez ryzyka przypadkowego nadpisania całej struktury kategorii.

Write Your Own Review
You're reviewing:Magento-2-Modul Export Import Categories
Produkte