Moduł Export Import Categories dla Magento 2
- SKU
- M2-EXPORT-IMPORT-CATEGORIES
Opis / Moduł Export Import Categories dla Magento 2
Kowal_ExportImportCategories to moduł Magento 2 umożliwiający eksport i import atrybutów kategorii w formacie CSV z uwzględnieniem wybranego store view. Rozszerzenie zostało przygotowane z myślą o sklepach, które pracują na wielu wersjach językowych, wielu widokach sklepu albo potrzebują masowo aktualizować dane kategorii bez ręcznej edycji każdej kategorii w panelu administracyjnym.
Moduł pozwala wyeksportować kategorie do pliku CSV, zmodyfikować wybrane atrybuty poza Magento, a następnie zaimportować dane z powrotem w trybie aktualizacji istniejących kategorii albo tworzenia nowych kategorii. Import działa na wskazanym store view, dzięki czemu można wygodnie przygotowywać tłumaczenia nazw, opisów, meta tagów, URL-i oraz innych atrybutów kategorii.
Dla kogo jest ten moduł
Moduł jest przeznaczony dla:
- sklepów Magento 2 z wieloma wersjami językowymi,
- zespołów contentowych pracujących na arkuszach CSV,
- agencji wdrażających katalogi kategorii między środowiskami,
- administratorów, którzy muszą masowo aktualizować nazwy, opisy, meta dane i URL-e kategorii,
- sklepów, które mają własne atrybuty kategorii i chcą nimi zarządzać zbiorczo,
- projektów, w których dane kategorii są przygotowywane poza Magento, np. przez tłumaczy, dział SEO albo system PIM.
Najważniejsze możliwości
- Eksport kategorii do CSV dla wybranego
store view. - Import kategorii z CSV dla wybranego
store view. - Tryb aktualizacji istniejących kategorii:
update. - Tryb tworzenia nowych kategorii:
insert. - Wybór atrybutów eksportowanych do CSV.
- Wybór atrybutów importowanych z CSV.
- Automatyczne kolumny systemowe potrzebne do identyfikacji kategorii.
- Walidacja nagłówków CSV przed importem.
- Walidacja nazw kolumn względem rzeczywistych atrybutów kategorii Magento.
- Obsługa własnych atrybutów kategorii dodanych w Magento.
- Obsługa wartości tekstowych dla wszystkich atrybutów.
- Obsługa atrybutów
selectimultiselectpo labelach opcji. - Możliwość pracy na wartościach widocznych w store view albo tylko na nadpisaniach store view.
- Tryb
dry-run, czyli pełna walidacja importu bez zapisu danych. - Polityka pustych wartości.
- Strategie obsługi
url_key. - Opcjonalne tworzenie permanent redirect przy zmianie URL kategorii.
- Obsługa ścieżek do obrazków kategorii.
- Batch processing dla większych plików.
- Polityki obsługi błędów.
- Raport importu w CSV.
- Historia importów w panelu administracyjnym.
Eksport kategorii
Eksport pozwala wygenerować plik CSV z kategoriami dla wybranego store view. Administrator wybiera widok sklepu oraz atrybuty kategorii, które mają znaleźć się w pliku. Moduł automatycznie dodaje kolumny systemowe potrzebne do identyfikacji kategorii i zachowania struktury drzewa.
Eksport można wykorzystać do:
- przygotowania tłumaczeń kategorii,
- audytu danych kategorii,
- masowej korekty meta danych SEO,
- porównania wartości między store view,
- przygotowania pliku do importu na tym samym lub innym środowisku,
- archiwizacji aktualnych danych kategorii przed zmianami.
Zakres eksportu
Eksport obejmuje atrybuty kategorii. Moduł nie eksportuje produktów przypisanych do kategorii. Nie wykonuje również operacji usuwania kategorii.
Administrator może wybrać:
Store View,- kategorię startową,
- atrybuty do eksportu,
- separator CSV,
- tryb wartości store view.
Tryby wartości store view przy eksporcie
Moduł obsługuje dwa tryby eksportu wartości:
resolved_value- eksportowana jest wartość widoczna w danymstore view, czyli po uwzględnieniu fallbacku Magento do wartości domyślnej.store_override_only- eksportowana jest tylko wartość nadpisana bezpośrednio dla danegostore view; jeśli wartość jest dziedziczona, komórka CSV pozostaje pusta.
Tryb resolved_value jest wygodny do pracy redakcyjnej, ponieważ pokazuje realną wartość widoczną w sklepie. Tryb store_override_only jest przydatny, gdy trzeba kontrolować wyłącznie tłumaczenia albo nadpisania specyficzne dla danego widoku sklepu.
Import kategorii
Import pozwala wczytać plik CSV i zapisać wybrane atrybuty kategorii dla wskazanego store view. Store view wybierany w formularzu importu jest nadrzędny, a kolumna store_view_code z CSV jest używana do walidacji, czy plik jest zgodny z wybranym widokiem sklepu.
Import można wykorzystać do:
- tłumaczenia kategorii,
- aktualizacji nazw kategorii,
- aktualizacji opisów kategorii,
- aktualizacji meta tagów,
- aktualizacji
url_key, - tworzenia nowych kategorii,
- importu własnych atrybutów kategorii,
- aktualizacji atrybutów menu i widoczności,
- importu ścieżek obrazków kategorii.
Tryb update
Tryb update aktualizuje istniejące kategorie. Moduł nie tworzy nowych kategorii w tym trybie.
Kategoria jest wyszukiwana przede wszystkim po entity_id. Jeżeli entity_id nie jest dostępne, moduł może użyć category_path, o ile ścieżka jednoznacznie wskazuje jedną kategorię.
Tryb update jest rekomendowany dla:
- tłumaczeń kategorii między store view,
- korekt SEO,
- aktualizacji opisów,
- aktualizacji nazw,
- zmiany wartości własnych atrybutów kategorii.
Przykładowy scenariusz tłumaczenia:
- Eksport kategorii z bazowego store view.
- Zmiana
store_view_codew CSV na kod docelowego store view. - Zachowanie tych samych
entity_id. - Uzupełnienie tłumaczeń w kolumnach
name,description,meta_title,meta_description. - Import w trybie
updatedla docelowego store view.
W takim wariancie moduł zapisuje wybrane atrybuty w kontekście numerycznego store_id wybranego w formularzu importu.
Tryb insert
Tryb insert tworzy nowe kategorie. W tym trybie entity_id nie jest wymagane, ponieważ Magento nadaje je automatycznie.
Nowa kategoria musi mieć wskazanego rodzica przez:
parent_entity_id,- albo
parent_path.
Tryb insert jest rekomendowany dla:
- tworzenia nowych struktur kategorii,
- przenoszenia drzewa kategorii między środowiskami,
- przygotowywania kategorii w arkuszu CSV,
- tworzenia kategorii na podstawie zewnętrznych danych.
Jeżeli import zawiera zarówno rodzica, jak i dziecko, dane powinny być ułożone w kolejności od kategorii wyższego poziomu do kategorii niższego poziomu.
Format CSV
Pierwszy wiersz pliku CSV musi zawierać nagłówki kolumn. Kolumny dzielą się na:
- kolumny systemowe,
- kolumny atrybutów kategorii.
Kolumny atrybutów muszą odpowiadać kodom atrybutów Magento, np.:
name,url_key,description,meta_title,meta_description,is_active,include_in_menu.
Kolumny systemowe
Moduł korzysta z następujących kolumn systemowych:
store_view_code,entity_id,parent_entity_id,category_path,parent_path,level,position,attribute_set_id.
Kolumny systemowe nie są traktowane jako atrybuty EAV. Służą do identyfikacji kategorii, walidacji store view oraz odtworzenia struktury drzewa.
Przykład CSV dla aktualizacji
store_view_code,entity_id,category_path,name,url_key,is_active,include_in_menu,meta_title
pl,13,Default Category/Gear/Bags,Torby,torby,1,1,Torby
pl,14,Default Category/Gear/Fitness Equipment,Sprzet fitness,sprzet-fitness,1,1,Sprzet fitness
Przykład CSV dla tworzenia kategorii
store_view_code,parent_entity_id,parent_path,category_path,name,url_key,is_active,include_in_menu
default,12,Default Category/Gear,Default Category/Gear/Helmets,Helmets,helmets,1,1
default,12,Default Category/Gear,Default Category/Gear/Gloves,Gloves,gloves,1,1
Praca na atrybutach tekstowych
Moduł zapisuje wartości w CSV jako tekst. Dzięki temu plik można edytować w arkuszu kalkulacyjnym, przekazać tłumaczowi albo przygotować automatycznie w zewnętrznym systemie.
Dla atrybutów typu select i multiselect moduł pracuje po labelach opcji, a nie po technicznych ID opcji. To oznacza, że w CSV widoczne są czytelne wartości, takie jak Products only, Position albo Price.
Dla multiselect wiele wartości jest rozdzielanych separatorem |.
Przykład:
store_view_code,entity_id,category_path,display_mode,available_sort_by,default_sort_by
default,13,Default Category/Gear/Bags,Products only,Position|Product Name|Price,Position
Jeżeli label opcji nie istnieje albo nie jest jednoznaczny, import zgłosi błąd walidacji.
Polityka pustych wartości
Podczas importu administrator wybiera sposób interpretacji pustych komórek CSV:
skip_empty- pusta komórka nie zmienia istniejącej wartości.clear_value- pusta komórka czyści wartość atrybutu dla wybranego store view.use_default- pusta komórka usuwa nadpisanie store view i pozwala Magento użyć wartości domyślnej.
Domyślnie rekomendowanym wariantem dla aktualizacji jest skip_empty, ponieważ ogranicza ryzyko przypadkowego wyczyszczenia danych.
Obsługa URL kategorii
Moduł pozwala skonfigurować strategię obsługi url_key:
use_csv_value- używa wartości z CSV.generate_from_name- generujeurl_keyna podstawie atrybutuname.keep_existing- w trybieupdatezachowuje obecnyurl_key.magento_default- pozostawia obsługę URL standardowemu mechanizmowi Magento.
Administrator może również zdecydować, czy przy zmianie url_key mają zostać utworzone permanent redirects.
Ta konfiguracja jest szczególnie istotna przy tłumaczeniach, ponieważ różne sklepy mogą stosować różne strategie:
- tłumaczone URL-e dla każdego języka,
- wspólne URL-e między wersjami językowymi,
- URL-e generowane automatycznie z nazw kategorii,
- ręcznie zarządzane URL-e SEO.
Obrazki kategorii
Moduł może importować atrybuty obrazków kategorii, jeżeli odpowiednie kolumny zostaną wybrane do importu.
Domyślny katalog źródłowy:
pub/media/import/categories
W CSV podawana jest ścieżka tekstowa względem tego katalogu, np.:
gear/bags.jpg
Moduł waliduje istnienie pliku oraz rozszerzenie. Obsługiwane są bezpieczne formaty graficzne, takie jak:
jpg,jpeg,png,webp,gif.
Tryb dry-run
Tryb dry-run pozwala uruchomić walidację importu bez zapisywania danych w Magento.
W tym trybie moduł:
- odczytuje CSV,
- waliduje nagłówki,
- waliduje store view,
- sprawdza istnienie kategorii albo rodziców,
- sprawdza atrybuty,
- mapuje wartości
selectimultiselect, - sprawdza obrazki,
- generuje raport błędów i ostrzeżeń,
- nie zapisuje kategorii.
To rekomendowany pierwszy krok przed każdym większym importem.
Batch processing
Import działa partiami. Rozmiar batcha można skonfigurować w formularzu importu.
Domyślna wartość:
100 wierszy
Batch processing ogranicza ryzyko timeoutów i nadmiernego zużycia pamięci przy większych plikach.
Polityka błędów
Moduł obsługuje trzy warianty zachowania przy błędach:
skip_invalid_rows- błędne wiersze są pomijane, poprawne są importowane dalej.stop_on_first_error- import zatrzymuje się po pierwszym błędzie.all_or_nothing- jeżeli którykolwiek wiersz ma błąd, dane nie są zapisywane.
Rekomendowanym wariantem dla dużych importów jest skip_invalid_rows, ponieważ pozwala przetworzyć poprawne dane i otrzymać raport problemów dla pozostałych wierszy.
Raporty i historia importów
Po imporcie moduł generuje raport CSV zawierający:
- numer wiersza,
- identyfikator kategorii,
- status,
- komunikat,
- listę zmienionych atrybutów.
Historia importów jest dostępna w panelu administracyjnym. Administrator może sprawdzić:
- datę importu,
- użytkownika admina,
- store view,
- tryb importu,
- nazwę pliku,
- liczbę wierszy,
- liczbę sukcesów,
- liczbę błędów,
- informację, czy import był wykonany jako
dry-run, - pobrać raport importu.
Bezpieczeństwo
Moduł korzysta z ACL Magento i dodaje osobne uprawnienia dla eksportu, importu oraz historii importów.
Import jest zabezpieczony przez:
- walidację nagłówków,
- walidację kodów atrybutów,
- walidację store view,
- walidację wymaganych kolumn,
- walidację typów wartości,
- walidację labeli opcji,
- walidację plików obrazków,
- raportowanie błędów per wiersz.
Moduł nie usuwa kategorii i nie importuje produktów przypisanych do kategorii.
Typowe zastosowania
Tłumaczenia kategorii
Eksportujesz kategorie z bazowego store view, uzupełniasz tłumaczenia w CSV, zmieniasz store_view_code na kod docelowego store view i importujesz dane w trybie update.
Masowa aktualizacja SEO
Eksportujesz atrybuty meta_title, meta_description, url_key, edytujesz je w CSV i importujesz tylko wybrane kolumny.
Tworzenie nowej struktury kategorii
Przygotowujesz plik CSV z category_path, parent_path, name i innymi wymaganymi atrybutami, a następnie importujesz go w trybie insert.
Aktualizacja własnych atrybutów kategorii
Jeżeli sklep ma własne atrybuty kategorii, moduł pobiera je dynamicznie z EAV i pozwala wybrać je przy eksporcie oraz imporcie.
Lokalizacja w panelu Magento
Po instalacji moduł jest dostępny w:
System > Data Transfer > Export/Import Categories
Dostępne widoki:
Export Categories,Import Categories,Import History.
More Information
| Instrukcja | Instrukcja instalacji i konfiguracji modułu Kowal_ExportImportCategoriesTen dokument opisuje instalację, konfigurację oraz korzystanie z modułu Wymagania
Instalacja przez ComposerModuł jest dostępny przez repozytorium Composer. 1. Dodaj repozytorium ComposerDane dostępowe do repozytorium Composer (adres e-mail klienta i token licencyjny) otrzymasz e-mailem po zakupie. Są również dostępne w panelu klienta po zalogowaniu na kowal.store. Zastąp
2. Skonfiguruj dostęp do repozytorium Composer KowalSkonfiguruj dane dostępowe do repozytorium Composer Kowal:
Zastąp 3. Zainstaluj moduł
4. Włącz moduł w Magento
5. Uruchom aktualizację Magento
6. Wyczyść cache
7. Opcjonalnie uruchom kompilację DINa środowiskach produkcyjnych albo w trybie production:
8. Opcjonalnie wdróż statyczne zasobyJeżeli środowisko tego wymaga:
Instalacja ręczna w app/codeAlternatywnie moduł można umieścić ręcznie w katalogu:
Po skopiowaniu plików uruchom:
W trybie production uruchom również:
Sprawdzenie instalacjiPo instalacji sprawdź, czy moduł jest aktywny:
Moduł powinien znajdować się na liście aktywnych modułów. W panelu administracyjnym przejdź do:
Powinny być widoczne trzy pozycje:
Uprawnienia ACLModuł dodaje osobne uprawnienia administracyjne:
Jeżeli użytkownik admina nie widzi menu modułu, sprawdź rolę użytkownika w:
Następnie nadaj odpowiednie uprawnienia dla zasobów modułu. Lokalizacja modułu w paneluModuł jest dostępny pod:
Widoki:
Konfiguracja eksportuWidok eksportu pozwala wygenerować plik CSV z kategoriami. Pola eksportuStore ViewWybiera store view, z którego zostaną odczytane wartości atrybutów kategorii. Jeżeli wybierzesz store view językowy, eksport może zawierać wartości specyficzne dla tego store view albo wartości odziedziczone z domyślnego scope, zależnie od trybu wartości. Start Category IDOpcjonalne pole pozwalające ograniczyć eksport do wybranej kategorii i jej poddrzewa. Jeżeli pole zostanie puste, moduł eksportuje kategorie od root category wybranego store view. Store View Value ModeOkreśla, jak eksportować wartości zależne od store view. Dostępne warianty:
CSV DelimiterSeparator CSV. Domyślnie:
Można użyć innego separatora, jeżeli plik będzie edytowany w narzędziu wymagającym np. średnika. AttributesLista atrybutów kategorii dostępnych w Magento. Moduł pobiera atrybuty dynamicznie z EAV, dlatego na liście mogą pojawić się również własne atrybuty kategorii dodane w projekcie. Kolumny systemowe są dodawane automatycznie i nie trzeba ich wybierać. Kolumny systemowe w eksporcieEksport zawsze powinien zawierać kolumny systemowe:
Kolumny te służą do identyfikacji kategorii, walidacji store view oraz obsługi struktury drzewa. Konfiguracja importuWidok importu pozwala wczytać CSV i zapisać dane kategorii. Pola importuStore ViewWybiera store view, do którego zostaną zapisane wartości. To pole decyduje o numerycznym Kolumna Przykład:
Import ModeDostępne tryby:
CSV FilePlik CSV z nagłówkami w pierwszym wierszu. Plik powinien być zakodowany w UTF-8. CSV DelimiterSeparator CSV. Musi odpowiadać separatorowi użytemu w pliku. Unknown Columns PolicyOkreśla zachowanie dla kolumn, które nie są ani kolumnami systemowymi, ani znanymi atrybutami kategorii. Dostępne warianty:
Rekomendowany wariant:
Empty Values PolicyOkreśla, jak moduł interpretuje puste komórki CSV. Dostępne warianty:
Rekomendowany wariant dla importu aktualizacyjnego:
URL Key StrategyOkreśla sposób obsługi atrybutu Dostępne warianty:
Create permanent redirect for URL key changesOpcja określa, czy Magento ma utworzyć permanent redirect przy zmianie Warto ją włączyć, gdy zmiana URL kategorii ma zachować przekierowania SEO ze starych adresów. Images Base DirectoryKatalog bazowy dla importu obrazków kategorii względem Domyślnie:
Pełna ścieżka w Magento:
Jeżeli w CSV podasz:
moduł będzie szukał pliku:
Error PolicyOkreśla zachowanie importu przy błędach. Dostępne warianty:
Rekomendowany wariant dla dużych plików:
Batch SizeLiczba wierszy przetwarzanych w jednej partii. Domyślnie:
Niższa wartość ogranicza zużycie pamięci. Wyższa wartość może przyspieszyć import na mocniejszych środowiskach. Attributes to ImportLista atrybutów, które mają zostać zaimportowane. Import aktualizuje tylko wybrane atrybuty. Jeżeli kolumna istnieje w CSV, ale atrybut nie zostanie zaznaczony w formularzu, moduł nie powinien go zapisać. Dry RunTryb walidacji bez zapisu danych. Rekomendowane jest uruchomienie Tryb import/updateTryb Wymagane daneCSV musi zawierać:
Jak działa identyfikacja kategoriiModuł próbuje znaleźć kategorię po:
Przykład aktualizacji tłumaczeń
Ustawienia importu:
Tryb import/insertTryb Wymagane daneCSV musi zawierać:
Przykład tworzenia kategorii
Ustawienia importu:
Praca z select i multiselectModuł obsługuje Nie trzeba podawać technicznych ID opcji. Przykład:
Dla
Jeżeli label nie istnieje albo jest niejednoznaczny, import zgłosi błąd. Import obrazków kategoriiPrzed importem obrazków umieść pliki w katalogu:
Przykład CSV:
Ustawienia importu:
Moduł sprawdzi, czy pliki istnieją i mają obsługiwane rozszerzenia. Raport importuPo imporcie moduł generuje raport CSV. Raport zawiera:
Statusy mogą obejmować:
Historia importówHistoria importów jest dostępna w:
Historia zawiera:
Zalecany proces pracyBezpieczny import aktualizacyjny
Bezpieczny import nowych kategorii
Cache i indeksyPo imporcie zmian w kategoriach warto odświeżyć cache Magento:
Jeżeli sklep wymaga ręcznej reindeksacji po większych zmianach katalogu:
W typowych instalacjach Magento zapis kategorii przez standardowe mechanizmy Magento powinien uruchamiać właściwe procesy powiązane z modelem kategorii, ale po dużych importach zalecana jest kontrola cache i indeksów. Najczęstsze problemyImport zgłasza niezgodny store_view_codeSprawdź, czy kod w kolumnie Import nie zmienia wartościSprawdź:
Select albo multiselect zgłasza błądSprawdź, czy label opcji w CSV dokładnie odpowiada labelowi opcji w Magento dla wybranego store view. Obrazek nie importuje sięSprawdź:
Insert zgłasza brak rodzicaSprawdź Odinstalowanie modułuJeżeli moduł był instalowany przez Composer:
Przed odinstalowaniem upewnij się, czy historia importów może zostać usunięta. Moduł tworzy tabelę: |
|---|---|
| Zgodność z szablonem | Niepotwierdzona |
Customer Reviews
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_idjako stabilnego identyfikatora kategorii, - zmiana
store_view_codena 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_codepasuje do wybranego store view, - czy
entity_idwskazuje 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_idistore_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.