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

Modul Export Import Categories pentru Magento 2

61,50 EUR 50,00 EUR
Instalacja COMPOSER
M2-EXPORT-IMPORT-CATEGORIES
Necesită modificări în șablon
Nu
Modificări minore
Schimbări semnificative
Necesită cunoștințe de programare
Nu
De bază
Avansat
Dificultatea configurării
Impactul asupra performanței
Conformitate cu standardele Magento

Kowal_ExportImportCategories este un modul Magento 2 care permite exportul și importul atributelor de categorie în format CSV, ținând cont de store view selectat. Extensia a fost creată pentru magazinele care lucrează cu mai multe versiuni lingvistice, mai multe vizualizări ale magazinului sau care trebuie să actualizeze în masă datele categoriilor fără editarea manuală a fiecărei categorii în panoul de administrare.

Modulul permite exportul categoriilor într-un fișier CSV, modificarea atributelor selectate în afara Magento, iar apoi importul datelor înapoi în modul de actualizare a categoriilor existente sau de creare a unor categorii noi. Importul funcționează pentru store view indicat, ceea ce permite pregătirea comodă a traducerilor pentru denumiri, descrieri, meta taguri, URL-uri și alte atribute ale categoriilor.

Pentru cine este acest modul

Modulul este destinat pentru:

  • magazine Magento 2 cu mai multe versiuni lingvistice,
  • echipe de content care lucrează cu fișiere CSV,
  • agenții care implementează cataloage de categorii între medii,
  • administratori care trebuie să actualizeze în masă denumiri, descrieri, meta date și URL-uri ale categoriilor,
  • magazine care au atribute proprii pentru categorii și doresc să le gestioneze colectiv,
  • proiecte în care datele categoriilor sunt pregătite în afara Magento, de exemplu de traducători, departamentul SEO sau un sistem PIM.

Cele mai importante funcționalități

  • Exportul categoriilor în CSV pentru store view selectat.
  • Importul categoriilor din CSV pentru store view selectat.
  • Mod de actualizare a categoriilor existente: update.
  • Mod de creare a categoriilor noi: insert.
  • Selectarea atributelor exportate în CSV.
  • Selectarea atributelor importate din CSV.
  • Coloane de sistem automate necesare pentru identificarea categoriilor.
  • Validarea antetelor CSV înainte de import.
  • Validarea denumirilor coloanelor față de atributele reale ale categoriilor Magento.
  • Suport pentru atribute proprii ale categoriilor adăugate în Magento.
  • Suport pentru valori text pentru toate atributele.
  • Suport pentru atribute select și multiselect pe baza etichetelor opțiunilor.
  • Posibilitatea de a lucra cu valorile vizibile în store view sau doar cu suprascrierile store view.
  • Mod dry-run, adică validarea completă a importului fără salvarea datelor.
  • Politica valorilor goale.
  • Strategii de gestionare url_key.
  • Crearea opțională de permanent redirect la schimbarea URL-ului categoriei.
  • Suport pentru căile către imaginile categoriilor.
  • Batch processing pentru fișiere mai mari.
  • Politici de gestionare a erorilor.
  • Raport de import în CSV.
  • Istoricul importurilor în panoul de administrare.

Exportul categoriilor

Exportul permite generarea unui fișier CSV cu categoriile pentru store view selectat. Administratorul alege vizualizarea magazinului și atributele categoriilor care trebuie incluse în fișier. Modulul adaugă automat coloanele de sistem necesare pentru identificarea categoriilor și păstrarea structurii arborelui.

Exportul poate fi utilizat pentru:

  • pregătirea traducerilor categoriilor,
  • auditarea datelor categoriilor,
  • corectarea în masă a meta datelor SEO,
  • compararea valorilor între store view-uri,
  • pregătirea fișierului pentru import pe același mediu sau pe un alt mediu,
  • arhivarea datelor curente ale categoriilor înainte de modificări.

Domeniul exportului

Exportul include atributele categoriilor. Modulul nu exportă produsele atribuite categoriilor. De asemenea, nu efectuează operații de ștergere a categoriilor.

Administratorul poate selecta:

  • Store View,
  • categoria de pornire,
  • atributele pentru export,
  • separatorul CSV,
  • modul valorilor store view.

Moduri ale valorilor store view la export

Modulul acceptă două moduri de export al valorilor:

  • resolved_value - este exportată valoarea vizibilă în store view dat, adică după luarea în considerare a fallback-ului Magento la valoarea implicită.
  • store_override_only - este exportată doar valoarea suprascrisă direct pentru store view respectiv; dacă valoarea este moștenită, celula CSV rămâne goală.

Modul resolved_value este comod pentru activitatea editorială, deoarece afișează valoarea reală vizibilă în magazin. Modul store_override_only este util atunci când trebuie controlate exclusiv traducerile sau suprascrierile specifice unei anumite vizualizări a magazinului.

Importul categoriilor

Importul permite încărcarea unui fișier CSV și salvarea atributelor selectate ale categoriilor pentru store view indicat. Store view-ul selectat în formularul de import este prioritar, iar coloana store_view_code din CSV este utilizată pentru validarea compatibilității fișierului cu vizualizarea magazinului selectată.

Importul poate fi utilizat pentru:

  • traducerea categoriilor,
  • actualizarea denumirilor categoriilor,
  • actualizarea descrierilor categoriilor,
  • actualizarea meta tagurilor,
  • actualizarea url_key,
  • crearea de categorii noi,
  • importul atributelor proprii ale categoriilor,
  • actualizarea atributelor de meniu și vizibilitate,
  • importul căilor imaginilor categoriilor.

Modul update

Modul update actualizează categoriile existente. Modulul nu creează categorii noi în acest mod.

Categoria este căutată în primul rând după entity_id. Dacă entity_id nu este disponibil, modulul poate utiliza category_path, cu condiția ca această cale să indice fără ambiguitate o singură categorie.

Modul update este recomandat pentru:

  • traduceri ale categoriilor între store view-uri,
  • corecții SEO,
  • actualizarea descrierilor,
  • actualizarea denumirilor,
  • schimbarea valorilor atributelor proprii ale categoriilor.

Exemplu de scenariu de traducere:

  1. Exportul categoriilor din store view-ul de bază.
  2. Schimbarea store_view_code în CSV cu codul store view-ului țintă.
  3. Păstrarea acelorași entity_id.
  4. Completarea traducerilor în coloanele name, description, meta_title, meta_description.
  5. Import în modul update pentru store view-ul țintă.

În această variantă, modulul salvează atributele selectate în contextul store_id numeric ales în formularul de import.

Modul insert

Modul insert creează categorii noi. În acest mod, entity_id nu este necesar, deoarece Magento îl atribuie automat.

Noua categorie trebuie să aibă părintele indicat prin:

  • parent_entity_id,
  • sau parent_path.

Modul insert este recomandat pentru:

  • crearea unor structuri noi de categorii,
  • transferul arborelui de categorii între medii,
  • pregătirea categoriilor într-un fișier CSV,
  • crearea categoriilor pe baza datelor externe.

Dacă importul conține atât părintele, cât și copilul, datele trebuie ordonate de la categoriile de nivel superior către categoriile de nivel inferior.

Format CSV

Primul rând al fișierului CSV trebuie să conțină antetele coloanelor. Coloanele se împart în:

  • coloane de sistem,
  • coloane ale atributelor categoriilor.

Coloanele atributelor trebuie să corespundă codurilor atributelor Magento, de exemplu:

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

Coloane de sistem

Modulul utilizează următoarele coloane de sistem:

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

Coloanele de sistem nu sunt tratate ca atribute EAV. Ele servesc la identificarea categoriilor, validarea store view-ului și reconstruirea structurii arborelui.

Exemplu CSV pentru actualizare

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

Exemplu CSV pentru crearea categoriilor

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

Lucrul cu atribute text

Modulul salvează valorile în CSV ca text. Astfel, fișierul poate fi editat într-o foaie de calcul, transmis unui traducător sau pregătit automat într-un sistem extern.

Pentru atributele de tip select și multiselect, modulul lucrează pe baza etichetelor opțiunilor, nu pe baza ID-urilor tehnice ale opțiunilor. Aceasta înseamnă că în CSV sunt vizibile valori lizibile, precum Products only, Position sau Price.

Pentru multiselect, mai multe valori sunt separate prin separatorul |.

Exemplu:

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

Dacă eticheta opțiunii nu există sau nu este neechivocă, importul va raporta o eroare de validare.

Politica valorilor goale

În timpul importului, administratorul alege modul de interpretare a celulelor CSV goale:

  • skip_empty - o celulă goală nu schimbă valoarea existentă.
  • clear_value - o celulă goală șterge valoarea atributului pentru store view-ul selectat.
  • use_default - o celulă goală elimină suprascrierea store view-ului și permite Magento să utilizeze valoarea implicită.

Varianta recomandată implicit pentru actualizări este skip_empty, deoarece reduce riscul de ștergere accidentală a datelor.

Gestionarea URL-urilor categoriilor

Modulul permite configurarea strategiei de gestionare url_key:

  • use_csv_value - utilizează valoarea din CSV.
  • generate_from_name - generează url_key pe baza atributului name.
  • keep_existing - în modul update păstrează url_key existent.
  • magento_default - lasă gestionarea URL-urilor mecanismului standard Magento.

Administratorul poate decide, de asemenea, dacă la schimbarea url_key trebuie create permanent redirects.

Această configurare este deosebit de importantă pentru traduceri, deoarece magazine diferite pot utiliza strategii diferite:

  • URL-uri traduse pentru fiecare limbă,
  • URL-uri comune între versiunile lingvistice,
  • URL-uri generate automat din denumirile categoriilor,
  • URL-uri SEO gestionate manual.

Imagini ale categoriilor

Modulul poate importa atributele imaginilor categoriilor dacă sunt selectate coloanele corespunzătoare pentru import.

Directorul sursă implicit:

pub/media/import/categories

În CSV se indică o cale text relativă la acest director, de exemplu:

gear/bags.jpg

Modulul validează existența fișierului și extensia. Sunt acceptate formate grafice sigure, precum:

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

Modul dry-run

Modul dry-run permite rularea validării importului fără salvarea datelor în Magento.

În acest mod, modulul:

  • citește CSV-ul,
  • validează antetele,
  • validează store view-ul,
  • verifică existența categoriilor sau a părinților,
  • verifică atributele,
  • mapează valorile select și multiselect,
  • verifică imaginile,
  • generează raportul de erori și avertismente,
  • nu salvează categoriile.

Acesta este primul pas recomandat înaintea fiecărui import mai mare.

Batch processing

Importul funcționează pe loturi. Dimensiunea batch-ului poate fi configurată în formularul de import.

Valoarea implicită:

100 wierszy

Batch processing reduce riscul de timeout-uri și consum excesiv de memorie în cazul fișierelor mai mari.

Politica erorilor

Modulul acceptă trei variante de comportament la erori:

  • skip_invalid_rows - rândurile greșite sunt omise, iar cele corecte sunt importate în continuare.
  • stop_on_first_error - importul se oprește după prima eroare.
  • all_or_nothing - dacă oricare rând conține o eroare, datele nu sunt salvate.

Varianta recomandată pentru importurile mari este skip_invalid_rows, deoarece permite procesarea datelor corecte și obținerea unui raport al problemelor pentru rândurile rămase.

Rapoarte și istoricul importurilor

După import, modulul generează un raport CSV care conține:

  • numărul rândului,
  • identificatorul categoriei,
  • statusul,
  • mesajul,
  • lista atributelor modificate.

Istoricul importurilor este disponibil în panoul de administrare. Administratorul poate verifica:

  • data importului,
  • utilizatorul admin,
  • store view,
  • modul de import,
  • numele fișierului,
  • numărul de rânduri,
  • numărul de succese,
  • numărul de erori,
  • informația dacă importul a fost realizat ca dry-run,
  • descărcarea raportului de import.

Securitate

Modulul utilizează ACL Magento și adaugă permisiuni separate pentru export, import și istoricul importurilor.

Importul este protejat prin:

  • validarea antetelor,
  • validarea codurilor atributelor,
  • validarea store view-ului,
  • validarea coloanelor obligatorii,
  • validarea tipurilor de valori,
  • validarea etichetelor opțiunilor,
  • validarea fișierelor de imagini,
  • raportarea erorilor pe fiecare rând.

Modulul nu șterge categorii și nu importă produse atribuite categoriilor.

Utilizări tipice

Traduceri ale categoriilor

Exportați categoriile din store view-ul de bază, completați traducerile în CSV, schimbați store_view_code cu codul store view-ului țintă și importați datele în modul update.

Actualizare SEO în masă

Exportați atributele meta_title, meta_description, url_key, le editați în CSV și importați doar coloanele selectate.

Crearea unei structuri noi de categorii

Pregătiți un fișier CSV cu category_path, parent_path, name și alte atribute necesare, apoi îl importați în modul insert.

Actualizarea atributelor proprii ale categoriilor

Dacă magazinul are atribute proprii pentru categorii, modulul le preia dinamic din EAV și permite selectarea lor la export și import.

Locația în panoul Magento

După instalare, modulul este disponibil în:

System > Data Transfer > Export/Import Categories

Vizualizări disponibile:

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

Instrucțiuni de instalare și configurare a modulului Kowal_ExportImportCategories

Acest document descrie instalarea, configurarea și utilizarea modulului Kowal_ExportImportCategories pentru Magento 2. Instrucțiunile includ informații din fișierul README.md și funcțiile implementate în modul.

Cerințe

  • Magento 2.
  • PHP compatibil cu instalarea Magento, PHP 8.1 sau mai nou recomandat.
  • Acces la CLI Magento.
  • Acces la Composer.
  • Permisiuni de administrator Magento.
  • Acces la repository-ul modulului.
  • Pentru importul imaginilor: posibilitatea de a plasa fișiere în directorul pub/media/import/categories.

Instalare prin Composer

Modulul este disponibil prin repository Composer.

1. Adăugați repository-ul Composer

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

2. Adăugați tokenul de acces pentru repository-ul privat GitHub

Dacă repository-ul este privat, configurați tokenul GitHub:

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

Înlocuiți cu propriul token de acces.

3. Instalați modulul

composer require kowal/module-export-import-categories

4. Activați modulul în Magento

bin/magento module:enable Kowal_ExportImportCategories

5. Rulați actualizarea Magento

bin/magento setup:upgrade

6. Goliți cache-ul

bin/magento cache:flush

7. Opțional, rulați compilarea DI

Pe mediile de producție sau în modul production:

bin/magento setup:di:compile

8. Opțional, implementați resursele statice

Dacă mediul o cere:

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

Instalare manuală în app/code

Alternativ, modulul poate fi plasat manual în directorul:

app/code/Kowal/ExportImportCategories

După copierea fișierelor, rulați:

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

În modul production, rulați de asemenea:

bin/magento setup:di:compile

Verificarea instalării

După instalare, verificați dacă modulul este activ:

bin/magento module:status Kowal_ExportImportCategories

Modulul ar trebui să se afle pe lista modulelor active.

În panoul de administrare, accesați:

System > Data Transfer > Export/Import Categories

Ar trebui să fie vizibile trei poziții:

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

Permisiuni ACL

Modulul adaugă permisiuni administrative separate:

  • acces la secțiunea principală Export/Import Categories,
  • exportul categoriilor,
  • importul categoriilor,
  • istoricul importurilor.

Dacă utilizatorul admin nu vede meniul modulului, verificați rolul utilizatorului în:

System > Permissions > User Roles

Apoi acordați permisiunile corespunzătoare pentru resursele modulului.

Locația modulului în panou

Modulul este disponibil la:

System > Data Transfer > Export/Import Categories

Vizualizări:

  • Export Categories - exportul categoriilor în CSV.
  • Import Categories - importul categoriilor din CSV.
  • Import History - istoricul importurilor și rapoarte.

Configurarea exportului

Vizualizarea de export permite generarea unui fișier CSV cu categorii.

Câmpurile exportului

Store View

Selectează store view-ul din care vor fi citite valorile atributelor categoriilor.

Dacă selectați un store view lingvistic, exportul poate conține valori specifice acestui store view sau valori moștenite din scope-ul implicit, în funcție de modul valorilor.

Start Category ID

Câmp opțional care permite limitarea exportului la categoria selectată și subarborele acesteia.

Dacă acest câmp rămâne gol, modulul exportă categoriile începând de la root category a store view-ului selectat.

Store View Value Mode

Stabilește cum sunt exportate valorile dependente de store view.

Variante disponibile:

  • resolved_value,
  • store_override_only.

resolved_value exportă valoarea vizibilă în store view-ul selectat după luarea în considerare a fallback-ului Magento.

store_override_only exportă doar valoarea suprascrisă pentru store view-ul selectat. Dacă valoarea este moștenită din default scope, celula CSV va fi goală.

CSV Delimiter

Separator CSV. Implicit:

,

Se poate utiliza un alt separator dacă fișierul va fi editat într-un instrument care necesită, de exemplu, punct și virgulă.

Attributes

Lista atributelor de categorie disponibile în Magento.

Modulul preia atributele dinamic din EAV, astfel încât în listă pot apărea și atribute proprii ale categoriilor adăugate în proiect.

Coloanele de sistem sunt adăugate automat și nu trebuie selectate.

Coloane de sistem în export

Exportul trebuie să conțină întotdeauna coloanele de sistem:

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

Aceste coloane servesc la identificarea categoriilor, validarea store view-ului și gestionarea structurii arborelui.

Configurarea importului

Vizualizarea de import permite încărcarea unui CSV și salvarea datelor categoriilor.

Câmpurile importului

Store View

Selectează store view-ul în care vor fi salvate valorile.

Acest câmp decide store_id numeric utilizat la salvarea în tabelele Magento.

Coloana store_view_code din CSV nu este convertită direct în store_id. Este utilizată pentru validarea faptului că fișierul se potrivește cu store view-ul selectat.

Exemplu:

  • în formular selectați un store view cu store_id = 1,
  • în CSV trebuie să existe store_view_code corespunzător acestui store view,
  • modulul salvează datele folosind store_id = 1.

Import Mode

Moduri disponibile:

  • update,
  • insert.

update actualizează categoriile existente.

insert creează categorii noi.

CSV File

Fișier CSV cu antete în primul rând.

Fișierul trebuie să fie codificat în UTF-8.

CSV Delimiter

Separator CSV. Trebuie să corespundă separatorului utilizat în fișier.

Unknown Columns Policy

Definește comportamentul pentru coloanele care nu sunt nici coloane de sistem, nici atribute cunoscute ale categoriilor.

Variante disponibile:

  • error - importul raportează o eroare pentru coloanele necunoscute.
  • ignore - coloanele necunoscute sunt ignorate.

Varianta recomandată:

error

Empty Values Policy

Stabilește cum interpretează modulul celulele CSV goale.

Variante disponibile:

  • skip_empty,
  • clear_value,
  • use_default.

skip_empty înseamnă că o celulă goală nu va modifica valoarea curentă.

clear_value înseamnă că o celulă goală va șterge valoarea atributului.

use_default înseamnă că o celulă goală va elimina suprascrierea store view-ului și va permite Magento să utilizeze valoarea implicită.

Varianta recomandată pentru importul de actualizare:

skip_empty

URL Key Strategy

Stabilește modul de gestionare a atributului url_key.

Variante disponibile:

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

use_csv_value salvează url_key din CSV.

generate_from_name generează url_key pe baza valorii name.

keep_existing păstrează url_key existent în modul update.

magento_default lasă gestionarea URL-ului mecanismului standard Magento.

Create permanent redirect for URL key changes

Opțiunea stabilește dacă Magento trebuie să creeze permanent redirect la schimbarea url_key.

Merită activată atunci când schimbarea URL-ului categoriei trebuie să păstreze redirectările SEO de la adresele vechi.

Images Base Directory

Directorul de bază pentru importul imaginilor categoriilor, relativ la pub/media.

Implicit:

import/categories

Calea completă în Magento:

pub/media/import/categories

Dacă în CSV indicați:

gear/bags.jpg

modulul va căuta fișierul:

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

Error Policy

Definește comportamentul importului la erori.

Variante disponibile:

  • skip_invalid_rows,
  • stop_on_first_error,
  • all_or_nothing.

skip_invalid_rows omite rândurile greșite și continuă importul.

stop_on_first_error oprește importul după prima eroare.

all_or_nothing necesită ca întregul fișier să fie corect; dacă apare o eroare, importul nu ar trebui să salveze datele.

Varianta recomandată pentru fișiere mari:

skip_invalid_rows

Batch Size

Numărul de rânduri procesate într-un singur lot.

Implicit:

100

O valoare mai mică reduce consumul de memorie. O valoare mai mare poate accelera importul pe medii mai puternice.

Attributes to Import

Lista atributelor care urmează să fie importate.

Importul actualizează doar atributele selectate. Dacă o coloană există în CSV, dar atributul nu este bifat în formular, modulul nu ar trebui să îl salveze.

Dry Run

Mod de validare fără salvarea datelor.

Se recomandă rularea dry-run înaintea importului propriu-zis, în special pentru fișiere mari sau modificări SEO.

Mod import/update

Modul update servește la actualizarea categoriilor existente.

Date necesare

CSV-ul trebuie să conțină:

  • store_view_code,
  • entity_id sau category_path,
  • cel puțin o coloană a atributului selectat.

Cum funcționează identificarea categoriei

Modulul încearcă să găsească categoria după:

  1. entity_id,
  2. category_path, dacă entity_id este gol.

entity_id este cel mai bun identificator atunci când importul are loc în același mediu Magento.

category_path este mai portabil între medii, dar trebuie să fie neechivoc.

Exemplu de actualizare a traducerilor

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

Setări de import:

  • Store View: store view polonez,
  • Import Mode: update,
  • Attributes to Import: name, url_key, meta_title, meta_description,
  • URL Key Strategy: use_csv_value,
  • Empty Values Policy: skip_empty,
  • mai întâi Dry Run, apoi importul propriu-zis.

Mod import/insert

Modul insert servește la crearea de categorii noi.

Date necesare

CSV-ul trebuie să conțină:

  • store_view_code,
  • category_path,
  • parent_entity_id sau parent_path,
  • name,
  • cel puțin o coloană a atributului selectat.

entity_id nu este necesar, deoarece Magento îl atribuie automat.

Exemplu de creare a categoriilor

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

Setări de import:

  • 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 sau generate_from_name,
  • Error Policy: skip_invalid_rows,
  • mai întâi Dry Run.

Lucrul cu select și multiselect

Modulul acceptă select și multiselect pe baza etichetelor opțiunilor.

Nu este necesară indicarea ID-urilor tehnice ale opțiunilor.

Exemplu:

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

Pentru multiselect, mai multe valori se separă cu separatorul:

|

Dacă eticheta nu există sau este ambiguă, importul va raporta o eroare.

Importul imaginilor categoriilor

Înainte de importul imaginilor, plasați fișierele în directorul:

pub/media/import/categories

Exemplu CSV:

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

Setări de import:

  • Images Base Directory: import/categories,
  • atribute bifate: image, thumbnail.

Modulul va verifica dacă fișierele există și au extensii acceptate.

Raportul de import

După import, modulul generează un raport CSV.

Raportul conține:

  • numărul rândului,
  • identificatorul categoriei,
  • statusul,
  • mesajul,
  • atributele modificate.

Statusurile pot include:

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

Istoricul importurilor

Istoricul importurilor este disponibil în:

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

Istoricul conține:

  • data importului,
  • utilizatorul admin,
  • store view,
  • modul de import,
  • numele fișierului,
  • numărul de rânduri,
  • numărul de succese,
  • numărul de erori,
  • informația despre dry-run,
  • link pentru descărcarea raportului.

Proces de lucru recomandat

Import de actualizare sigur

  1. Exportați categoriile curente.
  2. Păstrați fișierul original ca backup.
  3. Pregătiți modificările într-o copie CSV.
  4. Asigurați-vă că store_view_code corespunde store view-ului țintă.
  5. Selectați importul update.
  6. Selectați doar atributele pe care doriți să le modificați.
  7. Setați Empty Values Policy la skip_empty.
  8. Rulați Dry Run.
  9. Verificați raportul.
  10. Rulați importul propriu-zis.
  11. Goliți cache-ul dacă modificările nu sunt vizibile imediat.

Import sigur de categorii noi

  1. Pregătiți CSV-ul cu category_path, parent_path sau parent_entity_id.
  2. Asigurați-vă că părinții există sau apar mai devreme în fișier.
  3. Selectați importul insert.
  4. Bifați cel puțin name și alte atribute necesare.
  5. Rulați Dry Run.
  6. Corectați erorile din raport.
  7. Rulați importul propriu-zis.

Cache și indici

După importul modificărilor în categorii, este recomandat să reîmprospătați cache-ul Magento:

bin/magento cache:clean

Dacă magazinul necesită reindexare manuală după modificări mai mari ale catalogului:

bin/magento indexer:reindex

În instalările Magento tipice, salvarea categoriilor prin mecanismele standard Magento ar trebui să declanșeze procesele corespunzătoare asociate modelului de categorie, însă după importurile mari se recomandă verificarea cache-ului și a indicilor.

Cele mai frecvente probleme

Importul raportează un store_view_code incompatibil

Verificați dacă codul din coloana store_view_code corespunde store view-ului selectat în formularul de import.

Importul nu modifică valorile

Verificați:

  • dacă atributul a fost bifat în Attributes to Import,
  • dacă celula CSV nu este goală,
  • dacă Empty Values Policy nu este setat la skip_empty,
  • dacă importul nu a fost rulat ca Dry Run.

Select sau multiselect raportează o eroare

Verificați dacă eticheta opțiunii din CSV corespunde exact etichetei opțiunii din Magento pentru store view-ul selectat.

Imaginea nu se importă

Verificați:

  • dacă fișierul există în pub/media/import/categories,
  • dacă ruta din CSV este corectă,
  • dacă extensia fișierului este acceptată,
  • dacă atributul imaginii a fost bifat pentru import.

Insert raportează lipsa părintelui

Verificați parent_entity_id sau parent_path. Părintele trebuie să existe în Magento sau să se afle mai devreme în fișierul de import.

Dezinstalarea modulului

Dacă modulul a fost instalat prin Composer:

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

Înainte de dezinstalare, asigurați-vă că istoricul importurilor poate fi șters. Modulul creează tabelul:

kowal_export_import_categories_history
Implemented in real Magento 2 stores
Studiu de caz: extinderea tandembaits.com cu noi versiuni lingvistice

Client

tandembaits.com este un magazin online care activează în domeniul pescuitului. Oferta magazinului se bazează pe un sortiment specializat, în care denumirile corecte ale categoriilor, descrierile precise și adresele URL bine pregătite au o importanță directă pentru utilizabilitatea magazinului, SEO și comunicarea cu clienții din diferite țări.

Provocare

În cadrul extinderii magazinului cu noi versiuni lingvistice, clientul avea nevoie de o modalitate eficientă de gestionare a categoriilor în Magento 2.

Cea mai mare problemă a fost specificul domeniului pescuitului. Denumirile categoriilor nu sunt simple etichete universale. Adesea se referă la tehnici concrete de pescuit, tipuri de momeli, accesorii, serii de produse sau termeni folosiți doar de pescarii avansați.

Cu 10 versiuni lingvistice, gestionarea manuală a categoriilor în panoul Magento era prea consumatoare de timp și predispusă la erori. Clientul avea nevoie de control complet asupra:

  • denumirilor categoriilor,
  • adreselor URL ale categoriilor,
  • descrierilor categoriilor,
  • metadatelor SEO,
  • valorilor specifice fiecărui store view,
  • coerenței structurii categoriilor între versiunile lingvistice.

Volumul de lucru includea câteva zeci de categorii în 10 versiuni lingvistice. Aceasta însemna sute de valori text care trebuiau pregătite, verificate, corectate și importate.

Problemă de business

Lucrul standard în panoul Magento ar fi necesitat editarea fiecărei categorii separat pentru fiecare store view. Pentru câteva zeci de categorii și 10 limbi, un astfel de proces ar fi fost lent și dificil de controlat.

Cele mai importante riscuri ale lucrului manual:

  • erori la selectarea store view,
  • traduceri neuniforme ale denumirilor categoriilor,
  • suprascrierea accidentală a valorilor implicite,
  • adrese URL greșite sau duplicate,
  • lipsa unei vizualizări comode a tuturor categoriilor într-un singur loc,
  • dificultatea de a transmite datele traducătorilor sau persoanelor responsabile de SEO,
  • lipsa unei metode simple de validare a modificărilor înainte de salvare.

Clientul avea nevoie de un proces care să permită pregătirea datelor în bloc, verificarea lor înainte de import și salvarea în siguranță doar a atributelor selectate pentru un anumit store view.

Soluție

Pentru acest scenariu a fost utilizat modulul Export Import Categories pentru Magento 2.

Modulul a permis exportul categoriilor într-un fișier CSV, pregătirea datelor lingvistice în afara panoului Magento și reimportarea valorilor în store view-ul selectat.

Procesul s-a bazat pe modul update, deoarece structura categoriilor exista deja în magazin. Scopul nu a fost crearea unui nou arbore de categorii, ci completarea și corectarea datelor pentru următoarele versiuni lingvistice.

Domeniul de utilizare a modulului

În proiect au fost esențiale următoarele funcții ale modulului:

  • exportul categoriilor din store view-ul de bază,
  • păstrarea entity_id ca identificator stabil al categoriei,
  • schimbarea store_view_code cu codul versiunii lingvistice țintă,
  • importul în modul update,
  • selectarea atributelor concrete pentru import,
  • gestionarea denumirilor categoriilor,
  • gestionarea url_key,
  • gestionarea descrierilor categoriilor,
  • controlul valorilor goale,
  • validarea fișierului înainte de importul propriu-zis,
  • raportul de import.

Procesul implementat în proiect

1. Exportul categoriilor

Mai întâi a fost realizat exportul categoriilor din store view-ul de bază. Fișierul CSV conținea coloane de sistem și atributele selectate necesare pentru pregătirea versiunilor lingvistice.

Cele mai importante coloane de sistem:

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

Cele mai importante atribute de lucru:

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

2. Pregătirea datelor lingvistice

Pe baza CSV-ului exportat, au fost pregătite date separate pentru versiunile lingvistice individuale.

Astfel, persoanele responsabile de conținut au putut lucra într-un tabel, văzând simultan mai multe categorii. Acest lucru a fost deosebit de important în domeniul pescuitului, unde denumirile categoriilor trebuie să fie conforme cu terminologia locală și cu modul real în care clienții caută produsele.

3. Păstrarea identificatorilor categoriilor

În fișierele de import a fost păstrat entity_id, pentru ca modulul să poată asocia fără echivoc rândurile CSV cu categoriile Magento existente.

Acest lucru a permis importul traducerilor fără riscul de a crea categorii duplicate.

4. Schimbarea store view

Pentru fiecare versiune lingvistică a fost setat store_view_code corespunzător în CSV și a fost selectat același store view în formularul de import.

Modulul valida coerența acestor date. Astfel a fost redus riscul importului accidental al traducerilor în vizualizarea greșită a magazinului.

5. Importul în modul update

Importul a fost efectuat în modul update, selectând doar acele atribute care trebuiau modificate pentru versiunea lingvistică respectivă.

Astfel, modulul nu a intervenit asupra celorlalte date ale categoriilor.

6. Validare și dry-run

Înainte de importul propriu-zis, se putea rula validarea fără salvarea datelor.

Modul dry-run permitea verificarea:

  • dacă fișierul CSV are coloanele corecte,
  • dacă store_view_code corespunde store view-ului selectat,
  • dacă entity_id indică categorii existente,
  • dacă atributele selectate există în Magento,
  • dacă importul nu conține erori care blochează salvarea.

7. Raport după import

După import, modulul genera un raport care permitea verificarea statusului fiecărui rând.

Raportul a fost deosebit de util în lucrul cu mai multe limbi, deoarece permitea identificarea rapidă a eventualelor erori dintr-un anumit fișier sau dintr-o anumită categorie.

De ce CSV a fost formatul potrivit

CSV a fost un format practic pentru acest proiect, deoarece:

  • poate fi editat ușor într-o foaie de calcul,
  • poate fi transmis traducătorilor,
  • permite compararea valorilor între limbi,
  • permite pregătirea mai multor versiuni lingvistice pe baza unui singur export,
  • permite lucrul pe coloane concrete fără clicuri manuale în panoul Magento,
  • permite păstrarea controlului asupra entity_id și store_view_code.

Rezultat

Modulul i-a permis clientului să gestioneze categoriile în 10 versiuni lingvistice într-un mod structurat și repetabil.

În loc să editeze manual fiecare categorie în panoul Magento, echipa a putut lucra cu fișiere CSV, să pregătească traducerile în bloc și să importe doar atributele selectate pentru un anumit store view.

Cele mai importante beneficii:

  • pregătirea mai rapidă a noilor versiuni lingvistice,
  • control mai mare asupra denumirilor categoriilor,
  • control complet asupra adreselor URL,
  • gestionarea mai ușoară a descrierilor categoriilor,
  • posibilitatea de a lucra în afara panoului Magento,
  • risc mai mic de erori în cazul mai multor store view-uri,
  • validarea datelor înainte de salvare,
  • raportarea rezultatelor importului.

Importanța pentru SEO

În proiect, posibilitatea de a controla url_key, denumirile categoriilor și descrierile a avut o importanță deosebită.

Pentru un magazin care funcționează în mai multe limbi, traducerea automată sau copierea accidentală a denumirilor categoriilor nu este suficientă. Fiecare piață poate folosi termeni de specialitate diferiți, iar în pescuit diferențele terminologice sunt deosebit de importante.

Modulul a permis pregătirea conștientă a valorilor SEO pentru fiecare versiune lingvistică:

  • denumiri locale ale categoriilor,
  • adrese URL locale,
  • descrieri adaptate limbii,
  • meta titluri,
  • meta descrieri.

Rezumat

Extinderea tandembaits.com cu 10 versiuni lingvistice a necesitat un instrument care să permită gestionarea eficientă a categoriilor Magento 2 la nivel de store view.

Export Import Categories a rezolvat această problemă, mutând lucrul de la editarea manuală în panoul Magento la un proces controlat, bazat pe CSV, validare și importul atributelor selectate.

Ca rezultat, clientul a obținut posibilitatea de a gestiona comod denumirile specializate ale categoriilor, adresele URL și descrierile pentru mai multe limbi, fără riscul de a suprascrie accidental întreaga structură a categoriilor.

Write Your Own Review
You're reviewing:Modul Export Import Categories pentru Magento 2
Produse