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

Magento-2-Modul Export Import Categories

Bewertung:
100% of 100
61,50 € 50,00 €
Installation von COMPOSER
M2-EXPORT-IMPORT-CATEGORIES
Erfordert Änderungen an der Vorlage
Nein
Kleine Änderungen
Wesentliche Änderungen
Erfordert Programmierkenntnisse
Nein
Grundlegend
Erweitert
Schwierigkeiten bei der Konfiguration
Auswirkungen auf die Leistung
Kompatibilität mit Magento-Standards
  • Polnisch Polnisch
  • Englisch Englisch
  • 2.4.9
  • 2.4.8
  • 2.4.7
  • 2.4.6
  • 2.4.5
  • 2.4.4
  • 2.4.3
  • 2.4.2
  • 2.4.1
  • 2.4.0
  • 2.3.7
  • 2.3.6
  • 2.3.5
  • 2.3.4

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: Ausbau von tandembaits.com um neue Sprachversionen

Kunde

tandembaits.com ist ein Onlineshop in der Angelbranche. Das Angebot des Shops basiert auf einem spezialisierten Sortiment, bei dem korrekte Kategorienamen, präzise Beschreibungen und gut vorbereitete URLs direkte Bedeutung für die Benutzerfreundlichkeit des Shops, SEO und die Kommunikation mit Kunden in verschiedenen Ländern haben.

Herausforderung

Im Rahmen des Ausbaus des Shops um neue Sprachversionen benötigte der Kunde eine effektive Methode zur Verwaltung von Kategorien in Magento 2.

Das größte Problem war die Spezifik der Angelbranche. Kategorienamen sind keine einfachen, universellen Bezeichnungen. Sie beziehen sich häufig auf konkrete Angeltechniken, Arten von Ködern, Zubehör, Produktserien oder Begriffe, die nur von fortgeschrittenen Anglern verwendet werden.

Bei 10 Sprachversionen war die manuelle Verwaltung der Kategorien im Magento-Panel zu zeitaufwendig und fehleranfällig. Der Kunde benötigte volle Kontrolle über:

  • Kategorienamen,
  • Kategorie-URLs,
  • Kategoriebeschreibungen,
  • SEO-Metadaten,
  • store-view-spezifische Werte,
  • die Konsistenz der Kategoriestruktur zwischen den Sprachversionen.

Der Arbeitsumfang umfasste mehrere Dutzend Kategorien in 10 Sprachversionen. Das bedeutete Hunderte von Textwerten, die vorbereitet, geprüft, korrigiert und importiert werden mussten.

Geschäftsproblem

Die Standardarbeit im Magento-Panel würde die Bearbeitung jeder Kategorie einzeln für jede Store View erfordern. Bei mehreren Dutzend Kategorien und 10 Sprachen wäre ein solcher Prozess langsam und schwer zu kontrollieren.

Die wichtigsten Risiken bei manueller Arbeit:

  • Fehler bei der Auswahl der Store View,
  • inkonsistente Übersetzungen von Kategorienamen,
  • versehentliches Überschreiben von Standardwerten,
  • fehlerhafte oder doppelte URLs,
  • kein komfortabler Überblick über alle Kategorien an einem Ort,
  • Schwierigkeiten bei der Übergabe von Daten an Übersetzer oder für SEO verantwortliche Personen,
  • kein einfacher Weg zur Validierung der Änderungen vor dem Speichern.

Der Kunde benötigte einen Prozess, der es ermöglicht, Daten gesammelt vorzubereiten, sie vor dem Import zu prüfen und sicher nur ausgewählte Attribute für eine konkrete Store View zu speichern.

Lösung

Für dieses Szenario wurde das Modul Export Import Categories für Magento 2 eingesetzt.

Das Modul ermöglichte den Export von Kategorien in eine CSV-Datei, die Vorbereitung der Sprachdaten außerhalb des Magento-Panels und den erneuten Import der Werte in die ausgewählte Store View.

Der Prozess basierte auf dem Modus update, da die Kategoriestruktur im Shop bereits vorhanden war. Ziel war nicht die Erstellung eines neuen Kategoriebaums, sondern die Ergänzung und Korrektur von Daten für weitere Sprachversionen.

Umfang der Modulanwendung

Im Projekt waren die folgenden Modulfunktionen entscheidend:

  • Export von Kategorien aus der Basis-Store-View,
  • Beibehaltung von entity_id als stabilem Kategorie-Identifikator,
  • Änderung von store_view_code auf den Code der Zielsprache,
  • Import im Modus update,
  • Auswahl konkreter Attribute für den Import,
  • Verwaltung von Kategorienamen,
  • Verwaltung von url_key,
  • Verwaltung von Kategoriebeschreibungen,
  • Kontrolle leerer Werte,
  • Validierung der Datei vor dem eigentlichen Import,
  • Importbericht.

Im Projekt implementierter Prozess

1. Export der Kategorien

Zunächst wurden die Kategorien aus der Basis-Store-View exportiert. Die CSV-Datei enthielt Systemspalten sowie ausgewählte Attribute, die für die Vorbereitung der Sprachversionen erforderlich waren.

Die wichtigsten Systemspalten:

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

Die wichtigsten Arbeitsattribute:

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

2. Vorbereitung der Sprachdaten

Auf Basis der exportierten CSV wurden separate Daten für die einzelnen Sprachversionen vorbereitet.

Dadurch konnten die für Inhalte verantwortlichen Personen in einer Tabelle arbeiten und viele Kategorien gleichzeitig sehen. Das war besonders wichtig in der Angelbranche, wo Kategorienamen mit der lokalen Terminologie und der tatsächlichen Produktsuche der Kunden übereinstimmen müssen.

3. Beibehaltung der Kategorie-Identifikatoren

In den Importdateien wurde entity_id beibehalten, damit das Modul die CSV-Zeilen eindeutig den vorhandenen Magento-Kategorien zuordnen konnte.

Dadurch konnten Übersetzungen ohne das Risiko importiert werden, doppelte Kategorien zu erstellen.

4. Änderung der Store View

Für jede Sprachversion wurde in der CSV der entsprechende store_view_code gesetzt und im Importformular dieselbe Store View ausgewählt.

Das Modul validierte die Übereinstimmung dieser Daten. Dadurch wurde das Risiko eines versehentlichen Imports von Übersetzungen in die falsche Shop-Ansicht reduziert.

5. Import im Modus update

Der Import wurde im Modus update durchgeführt, wobei nur die Attribute ausgewählt wurden, die für die jeweilige Sprachversion geändert werden sollten.

Dadurch griff das Modul nicht in die übrigen Kategoriedaten ein.

6. Validierung und Dry-Run

Vor dem eigentlichen Import konnte eine Validierung ohne Datenspeicherung ausgeführt werden.

Der Modus dry-run ermöglichte die Prüfung:

  • ob die CSV-Datei die korrekten Spalten hat,
  • ob store_view_code zur ausgewählten Store View passt,
  • ob entity_id auf bestehende Kategorien verweist,
  • ob die ausgewählten Attribute in Magento existieren,
  • ob der Import keine Fehler enthält, die das Speichern blockieren.

7. Bericht nach dem Import

Nach dem Import generierte das Modul einen Bericht, mit dem der Status der einzelnen Zeilen geprüft werden konnte.

Der Bericht war besonders hilfreich bei der Arbeit mit vielen Sprachen, da er eine schnelle Erkennung möglicher Fehler in einer konkreten Datei oder Kategorie ermöglichte.

Warum CSV das richtige Format war

CSV war für dieses Projekt ein praktisches Format, weil:

  • es sich leicht in einer Tabelle bearbeiten lässt,
  • es an Übersetzer weitergegeben werden kann,
  • Werte zwischen Sprachen verglichen werden können,
  • mehrere Sprachversionen auf Basis eines Exports vorbereitet werden können,
  • an konkreten Spalten gearbeitet werden kann, ohne manuell im Magento-Panel zu klicken,
  • die Kontrolle über entity_id und store_view_code erhalten bleibt.

Ergebnis

Das Modul ermöglichte dem Kunden, Kategorien in 10 Sprachversionen strukturiert und wiederholbar zu verwalten.

Statt jeder manuellen Bearbeitung einzelner Kategorien im Magento-Panel konnte das Team mit CSV-Dateien arbeiten, Übersetzungen gesammelt vorbereiten und nur ausgewählte Attribute für eine konkrete Store View importieren.

Die wichtigsten Vorteile:

  • schnellere Vorbereitung neuer Sprachversionen,
  • mehr Kontrolle über Kategorienamen,
  • volle Kontrolle über URLs,
  • einfachere Verwaltung von Kategoriebeschreibungen,
  • Möglichkeit, außerhalb des Magento-Panels zu arbeiten,
  • geringeres Fehlerrisiko bei vielen Store Views,
  • Validierung der Daten vor dem Speichern,
  • Berichterstattung über die Importergebnisse.

Bedeutung für SEO

Im Projekt war die Möglichkeit, url_key, Kategorienamen und Beschreibungen zu kontrollieren, von besonderer Bedeutung.

Für einen Shop, der in vielen Sprachen tätig ist, reichen automatische Übersetzungen oder das zufällige Kopieren von Kategorienamen nicht aus. Jeder Markt kann andere Fachbegriffe verwenden, und im Angelsport sind terminologische Unterschiede besonders wichtig.

Das Modul ermöglichte eine bewusste Vorbereitung der SEO-Werte für jede Sprachversion:

  • lokale Kategorienamen,
  • lokale URLs,
  • sprachlich angepasste Beschreibungen,
  • Meta-Titel,
  • Meta-Beschreibungen.

Zusammenfassung

Der Ausbau von tandembaits.com um 10 Sprachversionen erforderte ein Tool, das eine effiziente Verwaltung von Magento-2-Kategorien auf Store-View-Ebene ermöglicht.

Export Import Categories löste dieses Problem, indem die Arbeit von der manuellen Bearbeitung im Magento-Panel in einen kontrollierten Prozess auf Basis von CSV, Validierung und dem Import ausgewählter Attribute verlagert wurde.

Dadurch erhielt der Kunde die Möglichkeit, spezialisierte Kategorienamen, URLs und Beschreibungen für viele Sprachen komfortabel zu verwalten, ohne das Risiko eines versehentlichen Überschreibens der gesamten Kategoriestruktur.

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