Módulo Export Import Categories para Magento 2
- Compatibilidade
- 2.4.9, 2.4.8, 2.4.7, 2.4.6, 2.4.5, 2.4.4, 2.4.3, 2.4.2, 2.4.1, 2.4.0, 2.3.7, 2.3.6, 2.3.5, 2.3.4
Descrição / Módulo Export Import Categories para Magento 2
MAGENTO 2 · CATEGORIAS · CSV · STORE VIEW
Atualize categorias em massa e no idioma selecionado.
Kowal Export Import Categories
Exporte atributos de categorias para CSV, prepare alterações numa folha de cálculo e importe-as para o store view correto. Controle valores vazios, URL, imagens e o relatório de cada execução.
Update e Insert · Dry Run · Traduções e atributos personalizados
COMO FUNCIONA NA PRÁTICA
01 · Exporta os dados selecionados
Indica o store view, o âmbito das categorias e os atributos.
02 · Prepara e verifica o CSV
Edita os valores e executa a validação sem gravação.
03 · Importa com controlo do resultado
Escolhe as políticas de gravação e analisa o relatório de linhas.
O que ganha a sua loja?
Conheça as funcionalidades, a utilização e as definições do módulo.
Conheça o módulo
Kowal_ExportImportCategories é um módulo Magento 2 que permite exportar e importar atributos de categorias em formato CSV, tendo em conta o store view selecionado. A extensão foi preparada para lojas que trabalham com várias versões linguísticas, vários store views ou que precisam de atualizar em massa os dados das categorias sem editar manualmente cada categoria no painel de administração.
O módulo permite exportar categorias para um ficheiro CSV, modificar atributos selecionados fora do Magento e, em seguida, importar novamente os dados no modo de atualização de categorias existentes ou de criação de novas categorias. A importação funciona no store view indicado, o que permite preparar comodamente traduções de nomes, descrições, meta tags, URL e outros atributos de categorias.
Para quem é este módulo
O módulo destina-se a:
- lojas Magento 2 com várias versões linguísticas,
- equipas de conteúdos que trabalham com folhas CSV,
- agências que implementam catálogos de categorias entre ambientes,
- administradores que precisam de atualizar em massa nomes, descrições, metadados e URL de categorias,
- lojas que têm atributos de categorias personalizados e pretendem geri-los em massa,
- projetos em que os dados das categorias são preparados fora do Magento, por exemplo por tradutores, pela equipa de SEO ou por um sistema PIM.
Principais funcionalidades
- Exportação de categorias para CSV para o
store viewselecionado. - Importação de categorias a partir de CSV para o
store viewselecionado. - Modo de atualização de categorias existentes:
update. - Modo de criação de novas categorias:
insert. - Seleção dos atributos exportados para CSV.
- Seleção dos atributos importados a partir de CSV.
- Colunas de sistema automáticas necessárias para identificar categorias.
- Validação dos cabeçalhos CSV antes da importação.
- Validação dos nomes das colunas face aos atributos reais de categorias Magento.
- Suporte para atributos de categorias personalizados adicionados no Magento.
- Suporte para valores de texto para todos os atributos.
- Suporte para atributos
selectemultiselectatravés dos labels das opções. - Possibilidade de trabalhar com valores visíveis no store view ou apenas com substituições do store view.
- Modo
dry-run, ou seja, validação completa da importação sem gravar dados. - Política de valores vazios.
- Estratégias de gestão de
url_key. - Criação opcional de permanent redirect ao alterar o URL da categoria.
- Suporte para caminhos de imagens de categorias.
- Batch processing para ficheiros maiores.
- Políticas de gestão de erros.
- Relatório de importação em CSV.
- Histórico de importações no painel de administração.
Exportação de categorias
A exportação permite gerar um ficheiro CSV com categorias para o store view selecionado. O administrador escolhe o store view e os atributos de categorias que devem constar no ficheiro. O módulo adiciona automaticamente as colunas de sistema necessárias para identificar categorias e preservar a estrutura da árvore.
A exportação pode ser utilizada para:
- preparar traduções de categorias,
- auditar dados de categorias,
- corrigir metadados SEO em massa,
- comparar valores entre store views,
- preparar um ficheiro para importação no mesmo ambiente ou noutro,
- arquivar os dados atuais das categorias antes de alterações.
Âmbito da exportação
A exportação abrange atributos de categorias. O módulo não exporta produtos atribuídos às categorias. Também não executa operações de remoção de categorias.
O administrador pode selecionar:
Store View,- categoria inicial,
- atributos a exportar,
- separador CSV,
- modo de valores do store view.
Modos de valores do store view na exportação
O módulo suporta dois modos de exportação de valores:
resolved_value- é exportado o valor visível no respetivostore view, ou seja, depois de considerar o fallback do Magento para o valor predefinido.store_override_only- é exportado apenas o valor substituído diretamente para o respetivostore view; se o valor for herdado, a célula CSV fica vazia.
O modo resolved_value é conveniente para trabalho editorial, pois mostra o valor real visível na loja. O modo store_override_only é útil quando é necessário controlar apenas traduções ou substituições específicas de um determinado store view.
Importação de categorias
A importação permite carregar um ficheiro CSV e gravar atributos de categorias selecionados para o store view indicado. O store view selecionado no formulário de importação é prioritário, e a coluna store_view_code do CSV é usada para validar se o ficheiro é compatível com o store view escolhido.
A importação pode ser utilizada para:
- traduzir categorias,
- atualizar nomes de categorias,
- atualizar descrições de categorias,
- atualizar meta tags,
- atualizar
url_key, - criar novas categorias,
- importar atributos de categorias personalizados,
- atualizar atributos de menu e visibilidade,
- importar caminhos de imagens de categorias.
Modo update
O modo update atualiza categorias existentes. O módulo não cria novas categorias neste modo.
A categoria é procurada sobretudo por entity_id. Se entity_id não estiver disponível, o módulo pode usar category_path, desde que o caminho indique inequivocamente uma categoria.
O modo update é recomendado para:
- traduções de categorias entre store views,
- correções SEO,
- atualizações de descrições,
- atualizações de nomes,
- alteração de valores de atributos de categorias personalizados.
Exemplo de cenário de tradução:
- Exportar categorias do store view base.
- Alterar
store_view_codeno CSV para o código do store view de destino. - Manter os mesmos
entity_id. - Preencher as traduções nas colunas
name,description,meta_title,meta_description. - Importar em modo
updatepara o store view de destino.
Nesta variante, o módulo grava os atributos selecionados no contexto do store_id numérico escolhido no formulário de importação.
Modo insert
O modo insert cria novas categorias. Neste modo, entity_id não é obrigatório, porque o Magento atribui-o automaticamente.
A nova categoria deve ter o respetivo pai indicado por:
parent_entity_id,- ou
parent_path.
O modo insert é recomendado para:
- criar novas estruturas de categorias,
- transferir uma árvore de categorias entre ambientes,
- preparar categorias numa folha CSV,
- criar categorias com base em dados externos.
Se a importação incluir tanto o pai como o filho, os dados devem estar ordenados da categoria de nível superior para a categoria de nível inferior.
Formato CSV
A primeira linha do ficheiro CSV deve conter os cabeçalhos das colunas. As colunas dividem-se em:
- colunas de sistema,
- colunas de atributos de categorias.
As colunas de atributos devem corresponder aos códigos de atributos Magento, por exemplo:
name,url_key,description,meta_title,meta_description,is_active,include_in_menu.
Colunas de sistema
O módulo utiliza as seguintes colunas de sistema:
store_view_code,entity_id,parent_entity_id,category_path,parent_path,level,position,attribute_set_id.
As colunas de sistema não são tratadas como atributos EAV. Servem para identificar categorias, validar o store view e reconstruir a estrutura da árvore.
Exemplo de CSV para atualização
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
Exemplo de CSV para criação de categorias
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
Trabalho com atributos de texto
O módulo grava os valores no CSV como texto. Assim, o ficheiro pode ser editado numa folha de cálculo, enviado para um tradutor ou preparado automaticamente num sistema externo.
Para atributos do tipo select e multiselect, o módulo trabalha com labels de opções, e não com IDs técnicos das opções. Isto significa que no CSV são visíveis valores legíveis, como Products only, Position ou Price.
Para multiselect, vários valores são separados pelo separador |.
Exemplo:
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
Se o label da opção não existir ou não for inequívoco, a importação comunicará um erro de validação.
Política de valores vazios
Durante a importação, o administrador escolhe como interpretar células CSV vazias:
skip_empty- uma célula vazia não altera o valor existente.clear_value- uma célula vazia limpa o valor do atributo para o store view selecionado.use_default- uma célula vazia remove a substituição do store view e permite ao Magento usar o valor predefinido.
Por predefinição, a variante recomendada para atualizações é skip_empty, porque reduz o risco de limpar dados acidentalmente.
Gestão de URL de categorias
O módulo permite configurar a estratégia de gestão de url_key:
use_csv_value- usa o valor do CSV.generate_from_name- geraurl_keycom base no atributoname.keep_existing- no modoupdate, mantém ourl_keyatual.magento_default- deixa a gestão do URL ao mecanismo padrão do Magento.
O administrador também pode decidir se devem ser criados permanent redirects ao alterar url_key.
Esta configuração é particularmente importante nas traduções, porque lojas diferentes podem utilizar estratégias diferentes:
- URL traduzidos para cada idioma,
- URL comuns entre versões linguísticas,
- URL gerados automaticamente a partir dos nomes das categorias,
- URL SEO geridos manualmente.
Imagens de categorias
O módulo pode importar atributos de imagens de categorias se as colunas correspondentes forem selecionadas para importação.
Diretório de origem predefinido:
pub/media/import/categories
No CSV é indicado o caminho de texto relativo a esse diretório, por exemplo:
gear/bags.jpg
O módulo valida a existência do ficheiro e a extensão. São suportados formatos de imagem seguros, como:
jpg,jpeg,png,webp,gif.
Modo dry-run
O modo dry-run permite executar a validação da importação sem gravar dados no Magento.
Neste modo, o módulo:
- lê o CSV,
- valida os cabeçalhos,
- valida o store view,
- verifica a existência das categorias ou dos pais,
- verifica os atributos,
- mapeia valores
selectemultiselect, - verifica imagens,
- gera um relatório de erros e avisos,
- não grava categorias.
É o primeiro passo recomendado antes de qualquer importação maior.
Batch processing
A importação funciona por lotes. O tamanho do batch pode ser configurado no formulário de importação.
Valor predefinido:
100 wierszy
O batch processing reduz o risco de timeouts e de consumo excessivo de memória em ficheiros maiores.
Política de erros
O módulo suporta três variantes de comportamento perante erros:
skip_invalid_rows- as linhas incorretas são ignoradas, e as corretas continuam a ser importadas.stop_on_first_error- a importação para após o primeiro erro.all_or_nothing- se a validação de qualquer linha detetar um erro antes da gravação, a importação não inicia a gravação.
A variante recomendada para importações grandes é skip_invalid_rows, porque permite processar os dados corretos e receber um relatório de problemas para as restantes linhas.
Relatórios e histórico de importações
Após a importação, o módulo gera um relatório CSV que inclui:
- número da linha,
- identificador da categoria,
- estado,
- mensagem,
- lista de atributos alterados.
O histórico de importações está disponível no painel de administração. O administrador pode verificar:
- data da importação,
- utilizador admin,
- store view,
- modo de importação,
- nome do ficheiro,
- número de linhas,
- número de sucessos,
- número de erros,
- informação sobre se a importação foi executada como
dry-run, - descarregar o relatório de importação.
Segurança
O módulo utiliza ACL Magento e adiciona permissões separadas para exportação, importação e histórico de importações.
A importação é protegida por:
- validação de cabeçalhos,
- validação de códigos de atributos,
- validação de store view,
- validação de colunas obrigatórias,
- validação de tipos de valores,
- validação de labels de opções,
- validação de ficheiros de imagem,
- relatório de erros por linha.
O módulo não remove categorias e não importa produtos atribuídos às categorias.
Traduções de categorias
Exporta as categorias do store view base, preenche as traduções no CSV, altera store_view_code para o código do store view de destino e importa os dados em modo update.
Atualização SEO em massa
Exporta os atributos meta_title, meta_description, url_key, edita-os no CSV e importa apenas as colunas selecionadas.
Criação de uma nova estrutura de categorias
Prepara um ficheiro CSV com category_path, parent_path, name e outros atributos obrigatórios e, em seguida, importa-o em modo insert.
Atualização de atributos de categorias personalizados
Se a loja tiver atributos de categorias personalizados, o módulo obtém-nos dinamicamente a partir de EAV e permite selecioná-los na exportação e na importação.
Localização no painel Magento
Após a instalação, o módulo está disponível em:
System > Data Transfer > Export/Import Categories
Vistas disponíveis:
Export Categories,Import Categories,Import History.
O formulário de importação define o store view
System → Data Transfer → Export/Import Categories disponibiliza exportação, importação e histórico. O store view selecionado no formulário define o contexto de gravação; store_view_code no ficheiro serve para verificar a compatibilidade.
Ao transferir dados entre instâncias, verifique os identificadores dos pais e os caminhos das categorias. A exportação de atributos por si só não transfere produtos nem as respetivas atribuições a categorias.
All or nothing e erros durante a gravação
O modo all_or_nothing valida todas as linhas antes de iniciar a gravação. Um erro nessa validação interrompe a importação.
O processo atual grava depois as categorias individualmente e não abrange todo o ficheiro numa única transação. Uma falha de gravação não significa a reversão automática das categorias gravadas anteriormente; analise o relatório e guarde a exportação antes das alterações.
Instalação através do Composer
Pacote kowal/module-export-import-categories, módulo Kowal_ExportImportCategories. Depois de configurar o acesso ao repositório Kowal, instale o pacote, ative o módulo, atualize o Magento e limpe a cache. Em produção, inclua a compilação e a implementação de conteúdos estáticos de acordo com o processo da loja.
Da configuração ao resultado
1. Exporta os dados selecionados
Indica o store view, o âmbito das categorias e os atributos.
2. Prepara e verifica o CSV
Edita os valores e executa a validação sem gravação.
3. Importa com controlo do resultado
Escolhe as políticas de gravação e analisa o relatório de linhas.
Traduções de categorias a partir de uma folha
Exporta nomes, descrições e metadados. Mantém os identificadores das categorias, altera o código do store view no CSV e prepara as traduções.
Após o dry-run, importa as colunas selecionadas em modo update para o store view de destino. As células vazias são interpretadas pela política de importação selecionada.
Otimize o trabalho com categorias e traduções
Quer adaptar o módulo à sua loja? Pergunte sobre a implementação do Kowal Export Import Categories e fale connosco sobre a configuração ou as extensões necessárias.
Mais informação
| Compatibilidade com o modelo | Luma / Blank, KOWAL |
|---|
Manual de instalação do módulo
Instruções de instalação e configuração do módulo Kowal_ExportImportCategories
Este documento descreve a instalação, configuração e utilização do módulo Kowal_ExportImportCategories para Magento 2. As instruções incluem informações do ficheiro README.md e as funcionalidades implementadas no módulo.
Requisitos
- Magento 2.
- PHP compatível com a instalação Magento, recomendado PHP
8.1ou mais recente. - Acesso à CLI do Magento.
- Acesso ao Composer.
- Permissões de administrador Magento.
- Acesso ao repositório do módulo.
- Para importação de imagens: possibilidade de colocar ficheiros no diretório
pub/media/import/categories.
Instalação através do Composer
O módulo está disponível através do repositório Composer.
1. Adicione o repositório Composer
Receberá os dados de acesso ao repositório Composer, endereço de e-mail do cliente e token de licença, por e-mail após a compra. Também estão disponíveis no painel do cliente após iniciar sessão em kowal.store. Substitua TWOJ_EMAIL_KLIENTA pelo endereço de e-mail da sua conta e TWOJ_TOKEN pelo token recebido. Execute os comandos no diretório raiz do Magento.
composer config repositories.kowal composer https://repo.kowal.store2. Configure o acesso ao repositório Composer Kowal
Configure os dados de acesso ao repositório Composer Kowal:
composer config http-basic.repo.kowal.store 'TWOJ_EMAIL_KLIENTA' 'TWOJ_TOKEN'Substitua pelo seu próprio token de acesso.
3. Instale o módulo
composer require kowal/module-export-import-categories4. Ative o módulo no Magento
bin/magento module:enable Kowal_ExportImportCategories5. Execute a atualização do Magento
bin/magento setup:upgrade6. Limpe a cache
bin/magento cache:flush7. Opcionalmente, execute a compilação DI
Em ambientes de produção ou no modo production:
bin/magento setup:di:compile8. Opcionalmente, implemente os recursos estáticos
Se o ambiente o exigir:
bin/magento setup:static-content:deploybin/magento cache:flushInstalação manual em app/code
Em alternativa, o módulo pode ser colocado manualmente no diretório:
app/code/Kowal/ExportImportCategoriesDepois de copiar os ficheiros, execute:
bin/magento module:enable Kowal_ExportImportCategoriesbin/magento setup:upgradebin/magento cache:flushNo modo production, execute também:
bin/magento setup:di:compileVerificação da instalação
Após a instalação, verifique se o módulo está ativo:
bin/magento module:status Kowal_ExportImportCategoriesO módulo deve constar na lista de módulos ativos.
No painel de administração, aceda a:
System > Data Transfer > Export/Import CategoriesDevem estar visíveis três opções:
Export Categories,Import Categories,Import History.
Permissões ACL
O módulo adiciona permissões administrativas separadas:
- acesso à secção principal
Export/Import Categories, - exportação de categorias,
- importação de categorias,
- histórico de importações.
Se o utilizador admin não vir o menu do módulo, verifique a função do utilizador em:
System > Permissions > User RolesEm seguida, atribua as permissões adequadas para os recursos do módulo.
Localização do módulo no painel
O módulo está disponível em:
System > Data Transfer > Export/Import CategoriesVistas:
Export Categories- exportação de categorias para CSV.Import Categories- importação de categorias a partir de CSV.Import History- histórico de importações e relatórios.
Configuração da exportação
A vista de exportação permite gerar um ficheiro CSV com categorias.
Campos de exportação
Store View
Seleciona o store view a partir do qual serão lidos os valores dos atributos de categorias.
Se selecionar um store view linguístico, a exportação pode conter valores específicos desse store view ou valores herdados do scope predefinido, consoante o modo de valores.
Start Category ID
Campo opcional que permite limitar a exportação à categoria selecionada e à respetiva subárvore.
Se o campo ficar vazio, o módulo exporta categorias a partir da root category do store view selecionado.
Store View Value Mode
Define como exportar valores dependentes do store view.
Variantes disponíveis:
resolved_value,store_override_only.
resolved_value exporta o valor visível no store view selecionado depois de considerar o fallback do Magento.
store_override_only exporta apenas o valor substituído para o store view selecionado. Se o valor for herdado do default scope, a célula CSV ficará vazia.
CSV Delimiter
Separador CSV. Por predefinição:
,Pode ser usado outro separador se o ficheiro for editado numa ferramenta que exija, por exemplo, ponto e vírgula.
Attributes
Lista de atributos de categorias disponíveis no Magento.
O módulo obtém atributos dinamicamente a partir de EAV, por isso a lista também pode incluir atributos de categorias personalizados adicionados no projeto.
As colunas de sistema são adicionadas automaticamente e não precisam de ser selecionadas.
Colunas de sistema na exportação
A exportação deve incluir sempre colunas de sistema:
store_view_code,entity_id,parent_entity_id,category_path,parent_path,level,position,attribute_set_id.
Estas colunas servem para identificar categorias, validar o store view e gerir a estrutura da árvore.
Configuração da importação
A vista de importação permite carregar CSV e gravar dados de categorias.
Campos de importação
Store View
Seleciona o store view no qual os valores serão gravados.
Este campo determina o store_id numérico usado na gravação nas tabelas Magento.
A coluna store_view_code do CSV não é convertida diretamente em store_id. É usada para validar se o ficheiro corresponde ao store view selecionado.
Exemplo:
- no formulário, seleciona um store view com
store_id = 1, - no CSV deve existir
store_view_codecorrespondente a esse store view, - o módulo grava os dados usando
store_id = 1.
Import Mode
Modos disponíveis:
update,insert.
update atualiza categorias existentes.
insert cria novas categorias.
CSV File
Ficheiro CSV com cabeçalhos na primeira linha.
O ficheiro deve estar codificado em UTF-8.
CSV Delimiter
Separador CSV. Deve corresponder ao separador usado no ficheiro.
Unknown Columns Policy
Define o comportamento para colunas que não são colunas de sistema nem atributos de categorias conhecidos.
Variantes disponíveis:
error- a importação comunica um erro para colunas desconhecidas.ignore- as colunas desconhecidas são ignoradas.
Variante recomendada:
errorEmpty Values Policy
Define como o módulo interpreta células CSV vazias.
Variantes disponíveis:
skip_empty,clear_value,use_default.
skip_empty significa que uma célula vazia não altera o valor atual.
clear_value significa que uma célula vazia limpa o valor do atributo.
use_default significa que uma célula vazia remove a substituição do store view e permite ao Magento usar o valor predefinido.
Variante recomendada para importação de atualização:
skip_emptyURL Key Strategy
Define a forma de gestão do atributo url_key.
Variantes disponíveis:
use_csv_value,generate_from_name,keep_existing,magento_default.
use_csv_value grava url_key a partir do CSV.
generate_from_name gera url_key com base no valor name.
keep_existing mantém o url_key existente no modo update.
magento_default deixa a gestão do URL ao mecanismo padrão do Magento.
Create permanent redirect for URL key changes
A opção define se o Magento deve criar permanent redirect ao alterar url_key.
Vale a pena ativá-la quando a alteração do URL da categoria deve preservar os redirecionamentos SEO dos endereços antigos.
Images Base Directory
Diretório base para importação de imagens de categorias relativamente a pub/media.
Por predefinição:
import/categoriesCaminho completo no Magento:
pub/media/import/categoriesSe indicar no CSV:
gear/bags.jpgo módulo procurará o ficheiro:
pub/media/import/categories/gear/bags.jpgError Policy
Define o comportamento da importação perante erros.
Variantes disponíveis:
skip_invalid_rows,stop_on_first_error,all_or_nothing.
skip_invalid_rows ignora linhas incorretas e continua a importação.
stop_on_first_error interrompe a importação após o primeiro erro.
all_or_nothing exige que todo o ficheiro esteja correto; se ocorrer um erro, a importação não deve gravar dados.
Variante recomendada para ficheiros grandes:
skip_invalid_rowsBatch Size
Número de linhas processadas num único lote.
Por predefinição:
100Um valor mais baixo reduz o consumo de memória. Um valor mais alto pode acelerar a importação em ambientes mais potentes.
Attributes to Import
Lista de atributos que devem ser importados.
A importação atualiza apenas os atributos selecionados. Se a coluna existir no CSV, mas o atributo não for selecionado no formulário, o módulo não deverá gravá-lo.
Dry Run
Modo de validação sem gravação de dados.
Recomenda-se executar dry-run antes da importação propriamente dita, especialmente para ficheiros grandes ou alterações SEO.
Modo import/update
O modo update serve para atualizar categorias existentes.
Dados obrigatórios
O CSV deve conter:
store_view_code,entity_idoucategory_path,- pelo menos uma coluna de atributo selecionado.
Como funciona a identificação de categorias
O módulo tenta encontrar a categoria por:
entity_id,category_path, seentity_idestiver vazio.
entity_id é o melhor identificador quando a importação é feita no mesmo ambiente Magento.
category_path é mais portável entre ambientes, mas deve ser inequívoco.
Exemplo de atualização de traduções
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 sportoweDefinições de importação:
Store View: store view polaco,Import Mode:update,Attributes to Import:name,url_key,meta_title,meta_description,URL Key Strategy:use_csv_value,Empty Values Policy:skip_empty,- primeiro
Dry Run, depois a importação final.
Modo import/insert
O modo insert serve para criar novas categorias.
Dados obrigatórios
O CSV deve conter:
store_view_code,category_path,parent_entity_idouparent_path,name,- pelo menos uma coluna de atributo selecionado.
entity_id não é obrigatório, porque o Magento atribui-o automaticamente.
Exemplo de criação de categorias
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,1Definições de importação:
Store View: default store view,Import Mode:insert,Attributes to Import:name,url_key,is_active,include_in_menu,URL Key Strategy:use_csv_valueougenerate_from_name,Error Policy:skip_invalid_rows,- primeiro
Dry Run.
Trabalho com select e multiselect
O módulo suporta select e multiselect através dos labels das opções.
Não é necessário indicar IDs técnicos das opções.
Exemplo:
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,PositionPara multiselect, vários valores são separados pelo separador:
|Se o label não existir ou for ambíguo, a importação comunicará um erro.
Importação de imagens de categorias
Antes de importar imagens, coloque os ficheiros no diretório:
pub/media/import/categoriesExemplo de CSV:
store_view_code,entity_id,category_path,image,thumbnaildefault,13,Default Category/Gear/Bags,gear/bags.jpg,gear/bags-thumb.jpgDefinições de importação:
Images Base Directory:import/categories,- atributos selecionados:
image,thumbnail.
O módulo verificará se os ficheiros existem e têm extensões suportadas.
Relatório de importação
Após a importação, o módulo gera um relatório CSV.
O relatório contém:
- número da linha,
- identificador da categoria,
- estado,
- mensagem,
- atributos alterados.
Os estados podem incluir:
success,error,skipped_no_change,skipped_existing.
Histórico de importações
O histórico de importações está disponível em:
System > Data Transfer > Export/Import Categories > Import HistoryO histórico inclui:
- data da importação,
- utilizador admin,
- store view,
- modo de importação,
- nome do ficheiro,
- número de linhas,
- número de sucessos,
- número de erros,
- informação sobre
dry-run, - link para descarregar o relatório.
Processo de trabalho recomendado
Importação de atualização segura
- Exporte as categorias atuais.
- Guarde o ficheiro original como backup.
- Prepare as alterações numa cópia do CSV.
- Certifique-se de que
store_view_codecorresponde ao store view de destino. - Selecione a importação
update. - Selecione apenas os atributos que pretende alterar.
- Defina
Empty Values Policycomoskip_empty. - Execute
Dry Run. - Verifique o relatório.
- Execute a importação final.
- Limpe a cache se as alterações não ficarem imediatamente visíveis.
Importação segura de novas categorias
- Prepare o CSV com
category_path,parent_pathouparent_entity_id. - Certifique-se de que os pais existem ou aparecem antes no ficheiro.
- Selecione a importação
insert. - Selecione, no mínimo,
namee outros atributos obrigatórios. - Execute
Dry Run. - Corrija os erros do relatório.
- Execute a importação final.
Cache e índices
Após importar alterações nas categorias, é recomendável atualizar a cache do Magento:
bin/magento cache:cleanSe a loja exigir reindexação manual após alterações maiores no catálogo:
bin/magento indexer:reindexEm instalações Magento típicas, a gravação de categorias através dos mecanismos padrão do Magento deve acionar os processos adequados associados ao modelo de categoria, mas após importações grandes recomenda-se verificar a cache e os índices.
Problemas mais frequentes
A importação comunica store_view_code incompatível
Verifique se o código na coluna store_view_code corresponde ao store view selecionado no formulário de importação.
A importação não altera valores
Verifique:
- se o atributo foi selecionado em
Attributes to Import, - se a célula CSV não está vazia,
- se
Empty Values Policynão está definido comoskip_empty, - se a importação não foi executada como
Dry Run.
Select ou multiselect comunica erro
Verifique se o label da opção no CSV corresponde exatamente ao label da opção no Magento para o store view selecionado.
A imagem não é importada
Verifique:
- se o ficheiro existe em
pub/media/import/categories, - se o caminho no CSV está correto,
- se a extensão do ficheiro é suportada,
- se o atributo de imagem foi selecionado para importação.
Insert comunica falta do pai
Verifique parent_entity_id ou parent_path. O pai deve existir no Magento ou aparecer antes no ficheiro de importação.
Desinstalação do módulo
Se o módulo tiver sido instalado através do Composer:
composer remove kowal/module-export-import-categoriesbin/magento setup:upgradebin/magento cache:flushAntes de desinstalar, certifique-se de que o histórico de importações pode ser removido. O módulo cria a tabela:
kowal_export_import_categories_historyAvaliações dos Clientes
Cliente
tandembaits.com é uma loja online que opera no setor da pesca. A oferta da loja baseia-se num sortido especializado, em que os nomes corretos das categorias, descrições precisas e URLs bem preparadas têm impacto direto na usabilidade da loja, no SEO e na comunicação com os clientes em diferentes países.
Desafio
No âmbito da expansão da loja com novas versões linguísticas, o cliente precisava de uma forma eficaz de gerir categorias no Magento 2.
O maior problema era a especificidade do setor da pesca. Os nomes das categorias não são etiquetas simples e universais. Referem-se frequentemente a técnicas específicas de pesca, tipos de iscos, acessórios, séries de produtos ou conceitos usados apenas por pescadores experientes.
Com 10 versões linguísticas, a gestão manual das categorias no painel do Magento era demasiado morosa e propensa a erros. O cliente precisava de ter controlo total sobre:
- nomes das categorias,
- URLs das categorias,
- descrições das categorias,
- metadados SEO,
- valores específicos de cada store view,
- coerência da estrutura de categorias entre versões linguísticas.
A escala do trabalho abrangia várias dezenas de categorias em 10 versões linguísticas. Isto significava centenas de valores de texto para preparar, verificar, corrigir e importar.
Problema de negócio
O trabalho padrão no painel do Magento exigiria a edição de cada categoria separadamente para cada store view. Com várias dezenas de categorias e 10 línguas, esse processo seria lento e difícil de controlar.
Os riscos mais importantes no trabalho manual:
- erros na seleção da store view,
- traduções incoerentes dos nomes das categorias,
- sobrescrita acidental dos valores predefinidos,
- URLs incorretos ou duplicados,
- falta de uma visão prática de todas as categorias num só local,
- dificuldade em transmitir os dados a tradutores ou a pessoas responsáveis por SEO,
- falta de uma forma simples de validar alterações antes de guardar.
O cliente precisava de um processo que permitisse preparar os dados em lote, verificá-los antes da importação e guardar com segurança apenas os atributos selecionados para uma store view específica.
Solução
Para este cenário, foi utilizado o módulo Export Import Categories para Magento 2.
O módulo permitiu exportar categorias para um ficheiro CSV, preparar os dados linguísticos fora do painel do Magento e voltar a importar os valores para a store view selecionada.
O processo baseou-se no modo update, porque a estrutura de categorias já existia na loja. O objetivo não era criar uma nova árvore de categorias, mas complementar e corrigir os dados para versões linguísticas seguintes.
Âmbito de utilização do módulo
No projeto, foram essenciais as seguintes funcionalidades do módulo:
- exportação de categorias a partir da store view base,
- manutenção de
entity_idcomo identificador estável da categoria, - alteração de
store_view_codepara o código da versão linguística de destino, - importação em modo
update, - seleção de atributos específicos para importação,
- gestão dos nomes das categorias,
- gestão de
url_key, - gestão das descrições das categorias,
- controlo de valores vazios,
- validação do ficheiro antes da importação propriamente dita,
- relatório de importação.
Processo implementado no projeto
1. Exportação de categorias
Primeiro, foi realizada a exportação das categorias a partir da store view base. O ficheiro CSV continha colunas de sistema e os atributos selecionados necessários para preparar as versões linguísticas.
As colunas de sistema mais importantes:
store_view_code,entity_id,category_path,parent_path.
Os atributos de trabalho mais importantes:
name,url_key,description,meta_title,meta_description.
2. Preparação dos dados linguísticos
Com base no CSV exportado, foram preparados dados separados para cada versão linguística.
Graças a isso, as pessoas responsáveis pelos conteúdos puderam trabalhar na folha de cálculo, vendo várias categorias ao mesmo tempo. Isto foi particularmente importante no setor da pesca, onde os nomes das categorias têm de estar alinhados com a terminologia local e com a forma real como os clientes procuram produtos.
3. Manutenção dos identificadores das categorias
Nos ficheiros de importação, foi mantido o entity_id, para que o módulo pudesse associar de forma inequívoca as linhas do CSV às categorias existentes no Magento.
Isto permitiu importar traduções sem risco de criar categorias duplicadas.
4. Alteração da store view
Para cada versão linguística, era definido o respetivo store_view_code no CSV e era selecionada a mesma store view no formulário de importação.
O módulo validava a conformidade destes dados. Graças a isso, foi reduzido o risco de importar traduções acidentalmente para a vista de loja errada.
5. Importação em modo update
A importação era realizada no modo update, selecionando apenas os atributos que deviam ser alterados para essa versão linguística.
Graças a isso, o módulo não interferia com os restantes dados da categoria.
6. Validação e dry-run
Antes da importação propriamente dita, era possível executar a validação sem guardar os dados.
O modo dry-run permitia verificar:
- se o ficheiro CSV tinha as colunas corretas,
- se
store_view_codecorrespondia à store view selecionada, - se
entity_idapontava para categorias existentes, - se os atributos selecionados existiam no Magento,
- se a importação não continha erros que bloqueassem a gravação.
7. Relatório após a importação
Após a importação, o módulo gerava um relatório que permitia verificar o estado de cada linha.
O relatório era particularmente útil ao trabalhar com muitos idiomas, porque permitia detetar rapidamente eventuais erros num ficheiro específico ou numa categoria específica.
Porque é que o CSV era o formato adequado
O CSV era um formato prático para este projeto, porque:
- pode ser facilmente editado numa folha de cálculo,
- pode ser enviado para tradutores,
- permite comparar valores entre idiomas,
- permite preparar várias versões linguísticas com base numa única exportação,
- permite trabalhar em colunas específicas sem clicar manualmente no painel do Magento,
- permite manter o controlo sobre
entity_idestore_view_code.
Efeito
O módulo permitiu ao cliente gerir categorias em 10 versões linguísticas de forma organizada e repetível.
Em vez da edição manual de cada categoria no painel do Magento, a equipa pôde trabalhar com ficheiros CSV, preparar traduções em lote e importar apenas os atributos selecionados para uma store view específica.
As principais vantagens:
- preparação mais rápida de novas versões linguísticas,
- maior controlo sobre os nomes das categorias,
- controlo total sobre os URLs,
- gestão mais fácil das descrições das categorias,
- possibilidade de trabalhar fora do painel do Magento,
- menor risco de erros com várias store view,
- validação dos dados antes de guardar,
- relatórios dos resultados da importação.
Importância para o SEO
No projeto, foi particularmente importante a possibilidade de controlar url_key, os nomes das categorias e as descrições.
Para uma loja que opera em vários idiomas, a tradução automática ou a cópia acidental dos nomes das categorias não é suficiente. Cada mercado pode usar termos setoriais diferentes, e na pesca as diferenças terminológicas são particularmente relevantes.
O módulo permitiu preparar conscientemente valores de SEO para cada versão linguística:
- nomes de categorias locais,
- URLs locais,
- descrições adaptadas ao idioma,
- meta títulos,
- meta descrições.
Resumo
A expansão de tandembaits.com para 10 versões linguísticas exigia uma ferramenta que permitisse gerir eficazmente as categorias do Magento 2 ao nível da store view.
Export Import Categories resolveu este problema, transferindo o trabalho da edição manual no painel do Magento para um processo controlado baseado em CSV, validação e importação de atributos selecionados.
Como resultado, o cliente passou a poder gerir comodamente nomes especializados de categorias, URLs e descrições para vários idiomas, sem o risco de sobrescrever acidentalmente toda a estrutura de categorias.