Export Import Categories-module voor Magento 2

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

Kowal_ExportImportCategories is een Magento 2-module waarmee u categorieattributen kunt exporteren en importeren in CSV-formaat, met ondersteuning voor de geselecteerde store view. De extensie is ontwikkeld voor winkels die met meerdere taalversies en meerdere store views werken, of die categoriegegevens massaal moeten bijwerken zonder elke categorie handmatig in het beheerpaneel te bewerken.

Met de module kunt u categorieën exporteren naar een CSV-bestand, geselecteerde attributen buiten Magento aanpassen en de gegevens vervolgens opnieuw importeren in de modus voor het bijwerken van bestaande categorieën of het aanmaken van nieuwe categorieën. De import werkt binnen de aangegeven store view, waardoor u eenvoudig vertalingen van namen, beschrijvingen, metatags, URL's en andere categorieattributen kunt voorbereiden.

Voor wie is deze module bedoeld

De module is bedoeld voor:

  • Magento 2-winkels met meerdere taalversies,
  • contentteams die met CSV-sheets werken,
  • bureaus die categoriecatalogi tussen omgevingen implementeren,
  • beheerders die categorienamen, beschrijvingen, metadata en URL's massaal moeten bijwerken,
  • winkels die eigen categorieattributen hebben en deze collectief willen beheren,
  • projecten waarin categoriegegevens buiten Magento worden voorbereid, bijvoorbeeld door vertalers, de SEO-afdeling of een PIM-systeem.

Belangrijkste mogelijkheden

  • Export van categorieën naar CSV voor de geselecteerde store view.
  • Import van categorieën uit CSV voor de geselecteerde store view.
  • Modus voor het bijwerken van bestaande categorieën: update.
  • Modus voor het aanmaken van nieuwe categorieën: insert.
  • Selectie van attributen die naar CSV worden geëxporteerd.
  • Selectie van attributen die uit CSV worden geïmporteerd.
  • Automatische systeemkolommen die nodig zijn voor categorie-identificatie.
  • Validatie van CSV-koppen vóór import.
  • Validatie van kolomnamen ten opzichte van de daadwerkelijke Magento-categorieattributen.
  • Ondersteuning voor eigen categorieattributen die in Magento zijn toegevoegd.
  • Ondersteuning voor tekstwaarden voor alle attributen.
  • Ondersteuning voor select- en multiselect-attributen op basis van optielabels.
  • Mogelijkheid om te werken met waarden die zichtbaar zijn in de store view of alleen met store view-overschrijvingen.
  • dry-run-modus, oftewel volledige importvalidatie zonder gegevens op te slaan.
  • Beleid voor lege waarden.
  • Strategieën voor het verwerken van url_key.
  • Optioneel aanmaken van permanent redirects bij wijziging van de categorie-URL.
  • Ondersteuning voor paden naar categorieafbeeldingen.
  • Batch processing voor grotere bestanden.
  • Beleid voor foutafhandeling.
  • Importrapport in CSV.
  • Importgeschiedenis in het beheerpaneel.

Categorieën exporteren

Met export kunt u een CSV-bestand met categorieën genereren voor de geselecteerde store view. De beheerder kiest de store view en de categorieattributen die in het bestand moeten worden opgenomen. De module voegt automatisch systeemkolommen toe die nodig zijn voor categorie-identificatie en het behoud van de boomstructuur.

Export kan worden gebruikt voor:

  • het voorbereiden van categorievertalingen,
  • een audit van categoriegegevens,
  • massale correctie van SEO-metadata,
  • vergelijking van waarden tussen store views,
  • het voorbereiden van een importbestand voor dezelfde of een andere omgeving,
  • archivering van actuele categoriegegevens vóór wijzigingen.

Exportbereik

De export omvat categorieattributen. De module exporteert geen producten die aan categorieën zijn toegewezen. Ook voert de module geen verwijderbewerkingen voor categorieën uit.

De beheerder kan kiezen:

  • Store View,
  • startcategorie,
  • attributen voor export,
  • CSV-scheidingsteken,
  • store view-waardemodus.

Store view-waardemodi bij export

De module ondersteunt twee modi voor het exporteren van waarden:

  • resolved_value - de waarde die zichtbaar is in de betreffende store view wordt geëxporteerd, dus met inachtneming van de Magento-fallback naar de standaardwaarde.
  • store_override_only - alleen de waarde die rechtstreeks voor de betreffende store view is overschreven, wordt geëxporteerd; als de waarde wordt geërfd, blijft de CSV-cel leeg.

De modus resolved_value is handig voor redactioneel werk, omdat deze de werkelijke waarde toont die in de winkel zichtbaar is. De modus store_override_only is nuttig wanneer u uitsluitend vertalingen of overschrijvingen wilt beheren die specifiek zijn voor een bepaalde store view.

Categorieën importeren

Met import kunt u een CSV-bestand inlezen en geselecteerde categorieattributen opslaan voor de aangegeven store view. De store view die in het importformulier wordt geselecteerd is leidend, en de kolom store_view_code uit de CSV wordt gebruikt om te valideren of het bestand overeenkomt met de geselecteerde store view.

Import kan worden gebruikt voor:

  • het vertalen van categorieën,
  • het bijwerken van categorienamen,
  • het bijwerken van categoriebeschrijvingen,
  • het bijwerken van metatags,
  • het bijwerken van url_key,
  • het aanmaken van nieuwe categorieën,
  • het importeren van eigen categorieattributen,
  • het bijwerken van menu- en zichtbaarheidsattributen,
  • het importeren van paden naar categorieafbeeldingen.

Modus update

De modus update werkt bestaande categorieën bij. De module maakt in deze modus geen nieuwe categorieën aan.

Een categorie wordt in de eerste plaats gezocht op entity_id. Als entity_id niet beschikbaar is, kan de module category_path gebruiken, mits het pad eenduidig naar één categorie verwijst.

De modus update wordt aanbevolen voor:

  • categorievertalingen tussen store views,
  • SEO-correcties,
  • het bijwerken van beschrijvingen,
  • het bijwerken van namen,
  • het wijzigen van waarden van eigen categorieattributen.

Voorbeeldscenario voor vertaling:

  1. Export van categorieën uit de basis-store view.
  2. Wijziging van store_view_code in de CSV naar de code van de doel-store view.
  3. Behoud van dezelfde entity_id.
  4. Aanvullen van vertalingen in de kolommen name, description, meta_title, meta_description.
  5. Import in de modus update voor de doel-store view.

In deze variant slaat de module de geselecteerde attributen op in de context van de numerieke store_id die in het importformulier is geselecteerd.

Modus insert

De modus insert maakt nieuwe categorieën aan. In deze modus is entity_id niet vereist, omdat Magento dit automatisch toekent.

Een nieuwe categorie moet een oudercategorie hebben die wordt aangegeven via:

  • parent_entity_id,
  • of parent_path.

De modus insert wordt aanbevolen voor:

  • het aanmaken van nieuwe categoriestructuren,
  • het overzetten van een categorieboom tussen omgevingen,
  • het voorbereiden van categorieën in een CSV-sheet,
  • het aanmaken van categorieën op basis van externe gegevens.

Als de import zowel een oudercategorie als een onderliggende categorie bevat, moeten de gegevens worden gerangschikt van categorieën op hoger niveau naar categorieën op lager niveau.

CSV-formaat

De eerste rij van het CSV-bestand moet kolomkoppen bevatten. De kolommen zijn onderverdeeld in:

  • systeemkolommen,
  • kolommen met categorieattributen.

Attribuutkolommen moeten overeenkomen met Magento-attribuutcodes, bijvoorbeeld:

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

Systeemkolommen

De module gebruikt de volgende systeemkolommen:

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

Systeemkolommen worden niet behandeld als EAV-attributen. Ze dienen voor categorie-identificatie, validatie van de store view en het reconstrueren van de boomstructuur.

CSV-voorbeeld voor bijwerken

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-voorbeeld voor het aanmaken van categorieën

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

Werken met tekstattributen

De module slaat waarden in CSV op als tekst. Daardoor kan het bestand in een spreadsheet worden bewerkt, aan een vertaler worden doorgegeven of automatisch in een extern systeem worden voorbereid.

Voor attributen van het type select en multiselect werkt de module op basis van optielabels, niet op basis van technische optie-ID's. Dit betekent dat in de CSV leesbare waarden zichtbaar zijn, zoals Products only, Position of Price.

Voor multiselect worden meerdere waarden gescheiden met het scheidingsteken |.

Voorbeeld:

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

Als het optielabel niet bestaat of niet eenduidig is, meldt de import een validatiefout.

Beleid voor lege waarden

Tijdens de import kiest de beheerder hoe lege CSV-cellen moeten worden geïnterpreteerd:

  • skip_empty - een lege cel wijzigt de bestaande waarde niet.
  • clear_value - een lege cel wist de attribuutwaarde voor de geselecteerde store view.
  • use_default - een lege cel verwijdert de store view-overschrijving en laat Magento de standaardwaarde gebruiken.

Voor updates is skip_empty standaard de aanbevolen variant, omdat deze het risico op het per ongeluk wissen van gegevens beperkt.

Afhandeling van categorie-URL's

Met de module kunt u de strategie voor de verwerking van url_key configureren:

  • use_csv_value - gebruikt de waarde uit de CSV.
  • generate_from_name - genereert url_key op basis van het attribuut name.
  • keep_existing - behoudt in de modus update de huidige url_key.
  • magento_default - laat de URL-afhandeling over aan het standaardmechanisme van Magento.

De beheerder kan ook bepalen of er permanent redirects moeten worden aangemaakt bij een wijziging van url_key.

Deze configuratie is vooral belangrijk bij vertalingen, omdat verschillende winkels verschillende strategieën kunnen gebruiken:

  • vertaalde URL's voor elke taal,
  • gemeenschappelijke URL's tussen taalversies,
  • URL's die automatisch worden gegenereerd op basis van categorienamen,
  • handmatig beheerde SEO-URL's.

Categorieafbeeldingen

De module kan attributen van categorieafbeeldingen importeren als de juiste kolommen voor import zijn geselecteerd.

Standaard bronmap:

pub/media/import/categories

In de CSV wordt een tekstpad opgegeven ten opzichte van deze map, bijvoorbeeld:

gear/bags.jpg

De module valideert of het bestand bestaat en controleert de extensie. Veilige afbeeldingsformaten worden ondersteund, zoals:

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

Dry-run-modus

Met de modus dry-run kunt u de importvalidatie uitvoeren zonder gegevens in Magento op te slaan.

In deze modus doet de module het volgende:

  • leest de CSV,
  • valideert de koppen,
  • valideert de store view,
  • controleert het bestaan van categorieën of oudercategorieën,
  • controleert attributen,
  • mapt waarden van select en multiselect,
  • controleert afbeeldingen,
  • genereert een rapport met fouten en waarschuwingen,
  • slaat geen categorieën op.

Dit is de aanbevolen eerste stap vóór elke grotere import.

Batch processing

De import werkt in batches. De batchgrootte kan in het importformulier worden geconfigureerd.

Standaardwaarde:

100 wierszy

Batch processing beperkt het risico op time-outs en overmatig geheugengebruik bij grotere bestanden.

Foutbeleid

De module ondersteunt drie varianten voor gedrag bij fouten:

  • skip_invalid_rows - foutieve rijen worden overgeslagen, correcte rijen worden verder geïmporteerd.
  • stop_on_first_error - de import stopt na de eerste fout.
  • all_or_nothing - als een rij een fout bevat, worden de gegevens niet opgeslagen.

Voor grote imports is skip_invalid_rows de aanbevolen variant, omdat correcte gegevens kunnen worden verwerkt en u een probleemrapport ontvangt voor de overige rijen.

Rapporten en importgeschiedenis

Na de import genereert de module een CSV-rapport met:

  • rijnummer,
  • categorie-ID,
  • status,
  • bericht,
  • lijst met gewijzigde attributen.

De importgeschiedenis is beschikbaar in het beheerpaneel. De beheerder kan controleren:

  • importdatum,
  • admin-gebruiker,
  • store view,
  • importmodus,
  • bestandsnaam,
  • aantal rijen,
  • aantal successen,
  • aantal fouten,
  • informatie of de import als dry-run is uitgevoerd,
  • het importrapport downloaden.

Beveiliging

De module maakt gebruik van Magento ACL en voegt afzonderlijke rechten toe voor export, import en importgeschiedenis.

De import is beveiligd door:

  • validatie van koppen,
  • validatie van attribuutcodes,
  • validatie van de store view,
  • validatie van vereiste kolommen,
  • validatie van waardetypen,
  • validatie van optielabels,
  • validatie van afbeeldingsbestanden,
  • foutrapportage per rij.

De module verwijdert geen categorieën en importeert geen producten die aan categorieën zijn toegewezen.

Typische toepassingen

Categorievertalingen

U exporteert categorieën uit de basis-store view, vult de vertalingen aan in de CSV, wijzigt store_view_code naar de code van de doel-store view en importeert de gegevens in de modus update.

Massale SEO-update

U exporteert de attributen meta_title, meta_description, url_key, bewerkt deze in de CSV en importeert alleen de geselecteerde kolommen.

Een nieuwe categoriestructuur aanmaken

U bereidt een CSV-bestand voor met category_path, parent_path, name en andere vereiste attributen, en importeert dit vervolgens in de modus insert.

Eigen categorieattributen bijwerken

Als de winkel eigen categorieattributen heeft, haalt de module deze dynamisch op uit EAV en kunt u ze selecteren bij export en import.

Locatie in het Magento-paneel

Na installatie is de module beschikbaar via:

System > Data Transfer > Export/Import Categories

Beschikbare weergaven:

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

Installatie- en configuratiehandleiding voor de module Kowal_ExportImportCategories

Dit document beschrijft de installatie, configuratie en het gebruik van de module Kowal_ExportImportCategories voor Magento 2. De handleiding bevat informatie uit het bestand README.md en de functies die in de module zijn geïmplementeerd.

Vereisten

  • Magento 2.
  • PHP compatibel met de Magento-installatie, aanbevolen PHP 8.1 of nieuwer.
  • Toegang tot Magento CLI.
  • Toegang tot Composer.
  • Magento-beheerdersrechten.
  • Toegang tot de modulerepository.
  • Voor het importeren van afbeeldingen: mogelijkheid om bestanden te plaatsen in de map pub/media/import/categories.

Installatie via Composer

De module is beschikbaar via een Composer-repository.

1. Voeg de Composer-repository toe

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

2. Voeg een toegangstoken toe voor de private GitHub-repository

Als de repository privé is, configureer dan de GitHub-token:

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

Vervang door uw eigen toegangstoken.

3. Installeer de module

composer require kowal/module-export-import-categories

4. Schakel de module in Magento in

bin/magento module:enable Kowal_ExportImportCategories

5. Voer de Magento-update uit

bin/magento setup:upgrade

6. Leeg de cache

bin/magento cache:flush

7. Voer optioneel DI-compilatie uit

Op productieomgevingen of in production mode:

bin/magento setup:di:compile

8. Implementeer optioneel statische assets

Als de omgeving dit vereist:

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

Handmatige installatie in app/code

Als alternatief kunt u de module handmatig in de volgende map plaatsen:

app/code/Kowal/ExportImportCategories

Voer na het kopiëren van de bestanden uit:

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

Voer in production mode ook uit:

bin/magento setup:di:compile

Installatie controleren

Controleer na de installatie of de module actief is:

bin/magento module:status Kowal_ExportImportCategories

De module moet in de lijst met actieve modules staan.

Ga in het beheerpaneel naar:

System > Data Transfer > Export/Import Categories

Er moeten drie items zichtbaar zijn:

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

ACL-rechten

De module voegt afzonderlijke beheerdersrechten toe:

  • toegang tot de hoofdsectie Export/Import Categories,
  • categorieën exporteren,
  • categorieën importeren,
  • importgeschiedenis.

Als een admin-gebruiker het modulemenu niet ziet, controleer dan de gebruikersrol in:

System > Permissions > User Roles

Ken vervolgens de juiste rechten toe voor de modulebronnen.

Locatie van de module in het paneel

De module is beschikbaar onder:

System > Data Transfer > Export/Import Categories

Weergaven:

  • Export Categories - export van categorieën naar CSV.
  • Import Categories - import van categorieën uit CSV.
  • Import History - importgeschiedenis en rapporten.

Export configureren

Met de exportweergave kunt u een CSV-bestand met categorieën genereren.

Exportvelden

Store View

Selecteert de store view waaruit de waarden van categorieattributen worden gelezen.

Als u een taal-store view selecteert, kan de export waarden bevatten die specifiek zijn voor die store view of waarden die zijn geërfd uit de default scope, afhankelijk van de waardemodus.

Start Category ID

Optioneel veld waarmee u de export kunt beperken tot een geselecteerde categorie en de onderliggende boomstructuur.

Als het veld leeg blijft, exporteert de module categorieën vanaf de root category van de geselecteerde store view.

Store View Value Mode

Bepaalt hoe store view-afhankelijke waarden worden geëxporteerd.

Beschikbare varianten:

  • resolved_value,
  • store_override_only.

resolved_value exporteert de waarde die zichtbaar is in de geselecteerde store view, met inachtneming van de Magento-fallback.

store_override_only exporteert alleen de waarde die voor de geselecteerde store view is overschreven. Als de waarde wordt geërfd uit de default scope, blijft de CSV-cel leeg.

CSV Delimiter

CSV-scheidingsteken. Standaard:

,

U kunt een ander scheidingsteken gebruiken als het bestand wordt bewerkt in een tool die bijvoorbeeld een puntkomma vereist.

Attributes

Lijst met categorieattributen die beschikbaar zijn in Magento.

De module haalt attributen dynamisch op uit EAV, waardoor ook eigen categorieattributen die in het project zijn toegevoegd in de lijst kunnen verschijnen.

Systeemkolommen worden automatisch toegevoegd en hoeven niet te worden geselecteerd.

Systeemkolommen in de export

De export moet altijd systeemkolommen bevatten:

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

Deze kolommen dienen voor categorie-identificatie, validatie van de store view en ondersteuning van de boomstructuur.

Import configureren

Met de importweergave kunt u een CSV inlezen en categoriegegevens opslaan.

Importvelden

Store View

Selecteert de store view waarnaar de waarden worden opgeslagen.

Dit veld bepaalt de numerieke store_id die wordt gebruikt bij het opslaan in Magento-tabellen.

De kolom store_view_code uit de CSV wordt niet rechtstreeks omgezet naar store_id. Deze wordt gebruikt om te valideren of het bestand overeenkomt met de geselecteerde store view.

Voorbeeld:

  • in het formulier selecteert u een store view met store_id = 1,
  • in de CSV moet store_view_code staan die overeenkomt met deze store view,
  • de module slaat gegevens op met gebruik van store_id = 1.

Import Mode

Beschikbare modi:

  • update,
  • insert.

update werkt bestaande categorieën bij.

insert maakt nieuwe categorieën aan.

CSV File

CSV-bestand met koppen in de eerste rij.

Het bestand moet in UTF-8 zijn gecodeerd.

CSV Delimiter

CSV-scheidingsteken. Dit moet overeenkomen met het scheidingsteken dat in het bestand is gebruikt.

Unknown Columns Policy

Bepaalt het gedrag voor kolommen die geen systeemkolommen en geen bekende categorieattributen zijn.

Beschikbare varianten:

  • error - de import meldt een fout voor onbekende kolommen.
  • ignore - onbekende kolommen worden genegeerd.

Aanbevolen variant:

error

Empty Values Policy

Bepaalt hoe de module lege CSV-cellen interpreteert.

Beschikbare varianten:

  • skip_empty,
  • clear_value,
  • use_default.

skip_empty betekent dat een lege cel de huidige waarde niet wijzigt.

clear_value betekent dat een lege cel de attribuutwaarde wist.

use_default betekent dat een lege cel de store view-overschrijving verwijdert en Magento de standaardwaarde laat gebruiken.

Aanbevolen variant voor update-import:

skip_empty

URL Key Strategy

Bepaalt hoe het attribuut url_key wordt verwerkt.

Beschikbare varianten:

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

use_csv_value slaat url_key uit de CSV op.

generate_from_name genereert url_key op basis van de waarde name.

keep_existing behoudt de bestaande url_key in de modus update.

magento_default laat de URL-afhandeling over aan het standaardmechanisme van Magento.

Create permanent redirect for URL key changes

Deze optie bepaalt of Magento een permanent redirect moet aanmaken bij wijziging van url_key.

Het is aan te raden deze in te schakelen wanneer een wijziging van de categorie-URL SEO-redirects vanaf oude adressen moet behouden.

Images Base Directory

Basismap voor het importeren van categorieafbeeldingen ten opzichte van pub/media.

Standaard:

import/categories

Volledig pad in Magento:

pub/media/import/categories

Als u in de CSV opgeeft:

gear/bags.jpg

zoekt de module naar het bestand:

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

Error Policy

Bepaalt het gedrag van de import bij fouten.

Beschikbare varianten:

  • skip_invalid_rows,
  • stop_on_first_error,
  • all_or_nothing.

skip_invalid_rows slaat foutieve rijen over en gaat door met de import.

stop_on_first_error stopt de import na de eerste fout.

all_or_nothing vereist dat het volledige bestand correct is; als er een fout optreedt, mag de import geen gegevens opslaan.

Aanbevolen variant voor grote bestanden:

skip_invalid_rows

Batch Size

Aantal rijen dat in één batch wordt verwerkt.

Standaard:

100

Een lagere waarde beperkt het geheugengebruik. Een hogere waarde kan de import versnellen op krachtigere omgevingen.

Attributes to Import

Lijst met attributen die moeten worden geïmporteerd.

De import werkt alleen geselecteerde attributen bij. Als een kolom in de CSV bestaat, maar het attribuut niet in het formulier is aangevinkt, mag de module dit niet opslaan.

Dry Run

Validatiemodus zonder gegevens op te slaan.

Het wordt aanbevolen om dry-run uit te voeren vóór de daadwerkelijke import, vooral bij grote bestanden of SEO-wijzigingen.

Modus import/update

De modus update wordt gebruikt om bestaande categorieën bij te werken.

Vereiste gegevens

De CSV moet bevatten:

  • store_view_code,
  • entity_id of category_path,
  • minstens één kolom van een geselecteerd attribuut.

Hoe categorie-identificatie werkt

De module probeert de categorie te vinden op basis van:

  1. entity_id,
  2. category_path, als entity_id leeg is.

entity_id is de beste identificatie wanneer de import op dezelfde Magento-omgeving plaatsvindt.

category_path is beter overdraagbaar tussen omgevingen, maar moet eenduidig zijn.

Voorbeeld van het bijwerken van vertalingen

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

Importinstellingen:

  • Store View: Poolse store view,
  • Import Mode: update,
  • Attributes to Import: name, url_key, meta_title, meta_description,
  • URL Key Strategy: use_csv_value,
  • Empty Values Policy: skip_empty,
  • eerst Dry Run, daarna de daadwerkelijke import.

Modus import/insert

De modus insert wordt gebruikt om nieuwe categorieën aan te maken.

Vereiste gegevens

De CSV moet bevatten:

  • store_view_code,
  • category_path,
  • parent_entity_id of parent_path,
  • name,
  • minstens één kolom van een geselecteerd attribuut.

entity_id is niet vereist, omdat Magento dit automatisch toekent.

Voorbeeld van het aanmaken van categorieën

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

Importinstellingen:

  • Store View: default store view,
  • Import Mode: insert,
  • Attributes to Import: name, url_key, is_active, include_in_menu,
  • URL Key Strategy: use_csv_value of generate_from_name,
  • Error Policy: skip_invalid_rows,
  • eerst Dry Run.

Werken met select en multiselect

De module ondersteunt select en multiselect op basis van optielabels.

Technische optie-ID's hoeven niet te worden opgegeven.

Voorbeeld:

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

Voor multiselect worden meerdere waarden gescheiden met het scheidingsteken:

|

Als het label niet bestaat of niet eenduidig is, meldt de import een fout.

Categorieafbeeldingen importeren

Plaats vóór het importeren van afbeeldingen de bestanden in de map:

pub/media/import/categories

CSV-voorbeeld:

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

Importinstellingen:

  • Images Base Directory: import/categories,
  • geselecteerde attributen: image, thumbnail.

De module controleert of de bestanden bestaan en ondersteunde extensies hebben.

Importrapport

Na de import genereert de module een CSV-rapport.

Het rapport bevat:

  • rijnummer,
  • categorie-ID,
  • status,
  • bericht,
  • gewijzigde attributen.

Statussen kunnen onder andere zijn:

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

Importgeschiedenis

De importgeschiedenis is beschikbaar via:

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

De geschiedenis bevat:

  • importdatum,
  • admin-gebruiker,
  • store view,
  • importmodus,
  • bestandsnaam,
  • aantal rijen,
  • aantal successen,
  • aantal fouten,
  • informatie over dry-run,
  • downloadlink voor het rapport.

Aanbevolen werkwijze

Veilige update-import

  1. Exporteer de huidige categorieën.
  2. Bewaar het originele bestand als backup.
  3. Bereid de wijzigingen voor in een kopie van de CSV.
  4. Controleer of store_view_code overeenkomt met de doel-store view.
  5. Selecteer import update.
  6. Selecteer alleen de attributen die u wilt wijzigen.
  7. Zet Empty Values Policy op skip_empty.
  8. Voer Dry Run uit.
  9. Controleer het rapport.
  10. Voer de daadwerkelijke import uit.
  11. Leeg de cache als de wijzigingen niet direct zichtbaar zijn.

Veilige import van nieuwe categorieën

  1. Bereid een CSV voor met category_path, parent_path of parent_entity_id.
  2. Controleer of de oudercategorieën bestaan of eerder in het bestand voorkomen.
  3. Selecteer import insert.
  4. Selecteer minimaal name en andere vereiste attributen.
  5. Voer Dry Run uit.
  6. Corrigeer de fouten uit het rapport.
  7. Voer de daadwerkelijke import uit.

Cache en indexen

Na het importeren van categoriewijzigingen is het verstandig de Magento-cache te verversen:

bin/magento cache:clean

Als de winkel na grotere cataloguswijzigingen handmatige herindexering vereist:

bin/magento indexer:reindex

In standaard Magento-installaties zou het opslaan van categorieën via de standaardmechanismen van Magento de juiste processen moeten starten die aan het categoriemodel zijn gekoppeld, maar na grote imports wordt controle van cache en indexen aanbevolen.

Veelvoorkomende problemen

De import meldt een niet-overeenkomende store_view_code

Controleer of de code in de kolom store_view_code overeenkomt met de store view die in het importformulier is geselecteerd.

De import wijzigt geen waarden

Controleer:

  • of het attribuut is geselecteerd in Attributes to Import,
  • of de CSV-cel niet leeg is,
  • of Empty Values Policy niet is ingesteld op skip_empty,
  • of de import niet als Dry Run is uitgevoerd.

Select of multiselect meldt een fout

Controleer of het optielabel in de CSV exact overeenkomt met het optielabel in Magento voor de geselecteerde store view.

De afbeelding wordt niet geïmporteerd

Controleer:

  • of het bestand bestaat in pub/media/import/categories,
  • of het pad in de CSV correct is,
  • of de bestandsextensie wordt ondersteund,
  • of het afbeeldingsattribuut voor import is geselecteerd.

Insert meldt dat de oudercategorie ontbreekt

Controleer parent_entity_id of parent_path. De oudercategorie moet in Magento bestaan of eerder in het importbestand staan.

Module verwijderen

Als de module via Composer is geïnstalleerd:

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

Controleer vóór het verwijderen of de importgeschiedenis mag worden verwijderd. De module maakt de tabel:

kowal_export_import_categories_history
Implemented in real Magento 2 stores
Case study: uitbreiding van tandembaits.com met nieuwe taalversies

Klant

tandembaits.com is een webshop actief in de hengelsportbranche. Het assortiment van de winkel is gebaseerd op gespecialiseerde producten, waarbij correcte categorienamen, precieze beschrijvingen en goed voorbereide URL's direct van belang zijn voor de gebruiksvriendelijkheid van de shop, SEO en communicatie met klanten in verschillende landen.

Uitdaging

In het kader van de uitbreiding van de shop met nieuwe taalversies had de klant een effectieve manier nodig om categorieën in Magento 2 te beheren.

Het grootste probleem was de specifieke aard van de hengelsportbranche. Categorienamen zijn geen eenvoudige, universele labels. Ze verwijzen vaak naar specifieke vistechnieken, typen aas, accessoires, productseries of begrippen die alleen door gevorderde vissers worden gebruikt.

Bij 10 taalversies was handmatig categoriebeheer in het Magento-paneel te tijdrovend en foutgevoelig. De klant had volledige controle nodig over:

  • categorienamen,
  • URL's van categorieën,
  • categoriebeschrijvingen,
  • SEO-metagegevens,
  • waarden die specifiek zijn voor elke store view,
  • consistentie van de categoriestructuur tussen taalversies.

De omvang van het werk omvatte enkele tientallen categorieën in 10 taalversies. Dit betekende honderden tekstwaarden die moesten worden voorbereid, gecontroleerd, gecorrigeerd en geïmporteerd.

Zakelijk probleem

Standaard werken in het Magento-paneel zou vereisen dat elke categorie afzonderlijk voor elke store view werd bewerkt. Bij enkele tientallen categorieën en 10 talen zou zo'n proces traag en moeilijk te beheersen zijn.

De belangrijkste risico's bij handmatig werk:

  • fouten bij het kiezen van de store view,
  • inconsistente vertalingen van categorienamen,
  • onbedoeld overschrijven van standaardwaarden,
  • onjuiste of dubbele URL's,
  • geen handig overzicht van alle categorieën op één plek,
  • moeite met het doorgeven van gegevens aan vertalers of personen die verantwoordelijk zijn voor SEO,
  • geen eenvoudige manier om wijzigingen vóór het opslaan te valideren.

De klant had een proces nodig waarmee gegevens in bulk konden worden voorbereid, vóór import gecontroleerd en veilig alleen geselecteerde attributen voor een specifieke store view opgeslagen.

Oplossing

Voor dit scenario werd de module Export Import Categories voor Magento 2 gebruikt.

De module maakte het mogelijk om categorieën naar een CSV-bestand te exporteren, taalgegevens buiten het Magento-paneel voor te bereiden en de waarden opnieuw in de geselecteerde store view te importeren.

Het proces was gebaseerd op de modus update, omdat de categoriestructuur al in de shop bestond. Het doel was niet om een nieuwe categorieboom aan te maken, maar om gegevens voor de volgende taalversies aan te vullen en te corrigeren.

Toepassingsbereik van de module

In het project waren de volgende functies van de module essentieel:

  • export van categorieën uit de basis-store view,
  • behoud van entity_id als stabiele categorie-identificatie,
  • wijziging van store_view_code naar de code van de doeltaalversie,
  • import in de modus update,
  • selectie van specifieke attributen voor import,
  • beheer van categorienamen,
  • beheer van url_key,
  • beheer van categoriebeschrijvingen,
  • controle van lege waarden,
  • validatie van het bestand vóór de eigenlijke import,
  • importrapport.

Proces geïmplementeerd in het project

1. Export van categorieën

Eerst werd een export van categorieën uit de basis-store view uitgevoerd. Het CSV-bestand bevatte systeemkolommen en geselecteerde attributen die nodig waren om de taalversies voor te bereiden.

Belangrijkste systeemkolommen:

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

Belangrijkste werkattributen:

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

2. Voorbereiding van taalgegevens

Op basis van het geëxporteerde CSV-bestand werden afzonderlijke gegevens voor de verschillende taalversies voorbereid.

Daardoor konden de personen die verantwoordelijk waren voor de content in een spreadsheet werken en meerdere categorieën tegelijk bekijken. Dit was vooral belangrijk in de hengelsportbranche, waar categorienamen moeten aansluiten bij lokale terminologie en de werkelijke manier waarop klanten naar producten zoeken.

3. Behoud van categorie-identificaties

In de importbestanden werd entity_id behouden, zodat de module CSV-rijen eenduidig aan bestaande Magento-categorieën kon koppelen.

Dit maakte het mogelijk om vertalingen te importeren zonder risico op het aanmaken van dubbele categorieën.

4. Wijziging van store view

Voor elke taalversie werd de juiste store_view_code in de CSV ingesteld en dezelfde store view in het importformulier gekozen.

De module valideerde de overeenstemming van deze gegevens. Daardoor werd het risico op het per ongeluk importeren van vertalingen naar de verkeerde winkelweergave beperkt.

5. Import in update-modus

De import werd uitgevoerd in de modus update, waarbij alleen die attributen werden geselecteerd die voor de betreffende taalversie moesten worden gewijzigd.

Daardoor greep de module niet in op de overige categoriegegevens.

6. Validatie en dry-run

Vóór de eigenlijke import kon validatie worden uitgevoerd zonder gegevens op te slaan.

De modus dry-run maakte het mogelijk om te controleren:

  • of het CSV-bestand de juiste kolommen heeft,
  • of store_view_code overeenkomt met de geselecteerde store view,
  • of entity_id naar bestaande categorieën verwijst,
  • of de geselecteerde attributen in Magento bestaan,
  • of de import geen fouten bevat die het opslaan blokkeren.

7. Rapport na import

Na de import genereerde de module een rapport waarmee de status van afzonderlijke rijen kon worden gecontroleerd.

Het rapport was vooral nuttig bij het werken met meerdere talen, omdat het snel eventuele fouten in een specifiek bestand of een specifieke categorie liet opsporen.

Waarom CSV het juiste formaat was

CSV was een praktisch formaat voor dit project, omdat:

  • het eenvoudig in een spreadsheet kan worden bewerkt,
  • het aan vertalers kan worden doorgegeven,
  • waarden tussen talen kunnen worden vergeleken,
  • meerdere taalversies op basis van één export kunnen worden voorbereid,
  • aan specifieke kolommen kan worden gewerkt zonder handmatig in het Magento-paneel te klikken,
  • controle over entity_id en store_view_code kan worden behouden.

Resultaat

De module stelde de klant in staat om categorieën in 10 taalversies op een gestructureerde en herhaalbare manier te beheren.

In plaats van elke categorie handmatig in het Magento-paneel te bewerken, kon het team met CSV-bestanden werken, vertalingen in bulk voorbereiden en alleen geselecteerde attributen voor een specifieke store view importeren.

Belangrijkste voordelen:

  • snellere voorbereiding van nieuwe taalversies,
  • meer controle over categorienamen,
  • volledige controle over URL's,
  • eenvoudiger beheer van categoriebeschrijvingen,
  • mogelijkheid om buiten het Magento-paneel te werken,
  • kleiner risico op fouten bij meerdere store views,
  • validatie van gegevens vóór het opslaan,
  • rapportage van importresultaten.

Belang voor SEO

In het project was de mogelijkheid om url_key, categorienamen en beschrijvingen te beheren van bijzonder belang.

Voor een webshop die in meerdere talen actief is, is automatische vertaling of het willekeurig kopiëren van categorienamen niet voldoende. Elke markt kan andere branchetermen gebruiken, en in de hengelsport zijn terminologische verschillen bijzonder belangrijk.

De module maakte het mogelijk om SEO-waarden bewust voor elke taalversie voor te bereiden:

  • lokale categorienamen,
  • lokale URL's,
  • beschrijvingen afgestemd op de taal,
  • metatitels,
  • metabeschrijvingen.

Samenvatting

De uitbreiding van tandembaits.com met 10 taalversies vereiste een tool waarmee Magento 2-categorieën efficiënt op store-viewniveau konden worden beheerd.

Export Import Categories loste dit probleem op door het werk te verplaatsen van handmatige bewerking in het Magento-paneel naar een gecontroleerd proces op basis van CSV, validatie en import van geselecteerde attributen.

Als resultaat kreeg de klant de mogelijkheid om gespecialiseerde categorienamen, URL's en beschrijvingen voor meerdere talen gemakkelijk te beheren zonder risico op het per ongeluk overschrijven van de volledige categoriestructuur.

Write Your Own Review
You're reviewing:Export Import Categories-module voor Magento 2
Producten
Aktualizacja preferencji plików cookie