Módulo Export Import Categories para Magento 2
- SKU
- M2-EXPORT-IMPORT-CATEGORIES
Descrição / Módulo Export Import Categories para Magento 2
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árias vistas de loja ou que precisam de atualizar dados de categorias em massa 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, permitindo preparar facilmente traduções de nomes, descrições, meta tags, URLs e outros atributos de categorias.
A quem se destina este módulo
O módulo destina-se a:
- lojas Magento 2 com várias versões linguísticas,
- equipas de conteúdo 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 URLs de categorias,
- lojas que têm atributos de categorias personalizados e querem geri-los em lote,
- projetos em que os dados das categorias são preparados fora do Magento, por exemplo, por tradutores, departamento de SEO ou 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 em relação aos atributos reais de categorias do Magento.
- Suporte para atributos de categorias personalizados adicionados no Magento.
- Suporte para valores de texto em 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 gravação de 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 tratamento 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 a vista de loja e os atributos de categorias que devem constar no ficheiro. O módulo adiciona automaticamente as colunas de sistema necessárias para identificar as categorias e manter 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 inclui atributos de categorias. O módulo não exporta produtos atribuídos às categorias. Também não executa operações de eliminação de categorias.
O administrador pode selecionar:
Store View,- categoria inicial,
- atributos para exportação,
- separador CSV,
- modo de valores de store view.
Modos de valores de store view na exportação
O módulo suporta dois modos de exportação de valores:
resolved_value- é exportado o valor visível nostore viewem questão, ou seja, após considerar o fallback do Magento para o valor predefinido.store_override_only- é exportado apenas o valor substituído diretamente para ostore viewem questão; se o valor for herdado, a célula CSV permanece vazia.
O modo resolved_value é conveniente para trabalho editorial, porque 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 uma determinada vista de loja.
Importação de categorias
A importação permite carregar um ficheiro CSV e guardar 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 é utilizada para validar se o ficheiro está de acordo com a vista de loja selecionada.
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 é pesquisada sobretudo por entity_id. Se entity_id não estiver disponível, o módulo pode usar category_path, desde que o caminho identifique inequivocamente uma única categoria.
O modo update é recomendado para:
- traduções de categorias entre store views,
- correções SEO,
- atualização de descrições,
- atualização de nomes,
- alteração de valores de atributos de categorias personalizados.
Exemplo de cenário de tradução:
- Exportação de categorias do store view de base.
- Alteração de
store_view_codeno CSV para o código do store view de destino. - Manutenção dos mesmos
entity_id. - Preenchimento das traduções nas colunas
name,description,meta_title,meta_description. - Importação em modo
updatepara o store view de destino.
Neste cenário, o módulo guarda 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 é necessário, porque o Magento atribui-o automaticamente.
A nova categoria deve ter o elemento pai indicado por:
parent_entity_id,- ou
parent_path.
O modo insert é recomendado para:
- criar novas estruturas de categorias,
- transferir a árvore de categorias entre ambientes,
- preparar categorias numa folha CSV,
- criar categorias com base em dados externos.
Se a importação incluir tanto o elemento 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 do 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 fitnessExemplo 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,1Trabalho com atributos de texto
O módulo guarda valores no CSV como texto. Assim, o ficheiro pode ser editado numa folha de cálculo, enviado a um tradutor ou preparado automaticamente num sistema externo.
Para atributos do tipo select e multiselect, o módulo trabalha com os labels das opções, e não com os 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,PositionSe 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 a forma de 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 que o Magento utilize o valor predefinido.
Por predefinição, a opção recomendada para atualizações é skip_empty, porque reduz o risco de limpeza acidental de dados.
Gestão de URL de categorias
O módulo permite configurar a estratégia de gestão de url_key:
use_csv_value- utiliza 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 quando url_key é alterado.
Esta configuração é particularmente importante nas traduções, porque diferentes lojas podem utilizar estratégias diferentes:
- URLs traduzidos para cada idioma,
- URLs comuns entre versões linguísticas,
- URLs gerados automaticamente a partir dos nomes das categorias,
- URLs SEO geridos manualmente.
Imagens de categorias
O módulo pode importar atributos de imagens de categorias se as colunas adequadas forem selecionadas para importação.
Diretório de origem predefinido:
pub/media/import/categoriesNo CSV é indicado um caminho de texto relativo a este diretório, por exemplo:
gear/bags.jpgO módulo valida a existência do ficheiro e a extensão. São suportados formatos gráficos seguros, como:
jpg,jpeg,png,webp,gif.
Modo dry-run
O modo dry-run permite executar a validação da importação sem guardar dados no Magento.
Neste modo, o módulo:
- lê o CSV,
- valida os cabeçalhos,
- valida o store view,
- verifica a existência de categorias ou elementos pai,
- verifica os atributos,
- mapeia valores
selectemultiselect, - verifica imagens,
- gera um relatório de erros e avisos,
- não guarda categorias.
Este é 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 wierszyO 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 em caso de erros:
skip_invalid_rows- as linhas incorretas são ignoradas e as corretas continuam a ser importadas.stop_on_first_error- a importação é interrompida após o primeiro erro.all_or_nothing- se qualquer linha tiver um erro, os dados não são gravados.
A opção recomendada para grandes importações é skip_invalid_rows, porque permite processar os dados corretos e obter 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 com:
- 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 administrador,
- 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 o ACL do 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 imagens,
- relatório de erros por linha.
O módulo não elimina categorias nem importa produtos atribuídos a categorias.
Utilizações típicas
Traduções de categorias
Exporta as categorias do store view de base, preenche as traduções no CSV, altera store_view_code para o código do store view de destino e importa os dados no 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 no 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 do 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 CategoriesVistas disponíveis:
Export Categories,Import Categories,Import History.
More Information
| 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, a configuração e a 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 do Magento, recomendado PHP
8.1ou superior. - Acesso à CLI do Magento.
- Acesso ao Composer.
- Permissões de administrador Magento.
- Acesso ao repositório do módulo.
- Para a importação de imagens: possibilidade de colocar ficheiros no diretório
pub/media/import/categories.
Instalação via Composer
O módulo está disponível através do repositório Composer.
1. Adicione o repositório Composer
Os dados de acesso ao repositório Composer, endereço de e-mail do cliente e token de licença, serão enviados por e-mail após a compra. Também estão disponíveis na área de 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 itens:
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 aos 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
Vista da loja
Seleciona a vista da loja a partir da qual serão lidos os valores dos atributos das categorias.
Se selecionar uma vista da loja de idioma, a exportação pode conter valores específicos dessa vista da loja ou valores herdados do scope predefinido, consoante o modo de valores.
ID da categoria inicial
Campo opcional que permite limitar a exportação à categoria selecionada e à sua subárvore.
Se o campo ficar vazio, o módulo exporta as categorias a partir da root category da vista da loja selecionada.
Modo de valores da vista da loja
Define como exportar valores dependentes da vista da loja.
Variantes disponíveis:
resolved_value,store_override_only.
resolved_value exporta o valor visível na vista da loja selecionada depois de aplicado o fallback do Magento.
store_override_only exporta apenas o valor substituído para a vista da loja selecionada. Se o valor for herdado do default scope, a célula CSV ficará vazia.
Delimitador CSV
Separador CSV. Por predefinição:
,Pode utilizar outro separador se o ficheiro for editado numa ferramenta que exija, por exemplo, ponto e vírgula.
Atributos
Lista de atributos de categoria disponíveis no Magento.
O módulo obtém os atributos dinamicamente a partir de EAV, por isso a lista também pode incluir atributos de categoria personalizados adicionados no projeto.
As colunas de sistema são adicionadas automaticamente e não têm de ser selecionadas.
Colunas de sistema na exportação
A exportação deve incluir sempre as colunas de sistema:
store_view_code,entity_id,parent_entity_id,category_path,parent_path,level,position,attribute_set_id.
Estas colunas são utilizadas para identificar categorias, validar a vista da loja e gerir a estrutura em árvore.
Configuração da importação
A vista de importação permite carregar um CSV e guardar os dados das categorias.
Campos de importação
Vista da loja
Seleciona a vista da loja na qual os valores serão guardados.
Este campo determina o store_id numérico utilizado ao guardar nas tabelas do Magento.
A coluna store_view_code do CSV não é convertida diretamente em store_id. É utilizada para validar se o ficheiro corresponde à vista da loja selecionada.
Exemplo:
- no formulário, seleciona a vista da loja com
store_id = 1, - no CSV deve existir
store_view_codecorrespondente a essa vista da loja, - o módulo guarda os dados utilizando
store_id = 1.
Modo de importação
Modos disponíveis:
update,insert.
update atualiza categorias existentes.
insert cria novas categorias.
Ficheiro CSV
Ficheiro CSV com cabeçalhos na primeira linha.
O ficheiro deve estar codificado em UTF-8.
Delimitador CSV
Separador CSV. Deve corresponder ao separador utilizado no ficheiro.
Política para colunas desconhecidas
Define o comportamento para colunas que não são colunas de sistema nem atributos de categoria conhecidos.
Variantes disponíveis:
error- a importação comunica um erro para colunas desconhecidas.ignore- as colunas desconhecidas são ignoradas.
Variante recomendada:
errorPolítica para valores vazios
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 da vista da loja e permite que o Magento utilize o valor predefinido.
Variante recomendada para importação de atualização:
skip_emptyEstratégia de URL Key
Define a forma de tratamento do atributo url_key.
Variantes disponíveis:
use_csv_value,generate_from_name,keep_existing,magento_default.
use_csv_value guarda o url_key do CSV.
generate_from_name gera o url_key com base no valor de name.
keep_existing mantém o url_key existente no modo update.
magento_default deixa o tratamento do URL ao mecanismo padrão do Magento.
Criar redirecionamento permanente para alterações de URL key
A opção define se o Magento deve criar um permanent redirect ao alterar o url_key.
Vale a pena ativá-la quando a alteração do URL da categoria deve manter os redirecionamentos SEO dos endereços antigos.
Diretório base das imagens
Diretório base para importação de imagens de categorias em relação a pub/media.
Por predefinição:
import/categoriesCaminho completo no Magento:
pub/media/import/categoriesSe indicar no CSV:
gear/bags.jpgo módulo irá procurar o ficheiro:
pub/media/import/categories/gear/bags.jpgPolítica de erros
Define o comportamento da importação em caso de 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 deverá guardar dados.
Variante recomendada para ficheiros grandes:
skip_invalid_rowsTamanho do lote
Número de linhas processadas num único lote.
Por predefinição:
100Um valor mais baixo limita o consumo de memória. Um valor mais alto pode acelerar a importação em ambientes mais potentes.
Atributos a importar
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 assinalado no formulário, o módulo não deverá guardá-lo.
Dry Run
Modo de validação sem guardar dados.
Recomenda-se executar dry-run antes da importação efetiva, especialmente para ficheiros grandes ou alterações SEO.
Modo import/update
O modo update serve para atualizar categorias existentes.
Dados necessários
O CSV deve conter:
store_view_code,entity_idoucategory_path,- pelo menos uma coluna do 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 ocorre no mesmo ambiente Magento.
category_path é mais portátil 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: vista da loja em 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 efetiva.
Modo import/insert
O modo insert serve para criar novas categorias.
Dados necessários
O CSV deve conter:
store_view_code,category_path,parent_entity_idouparent_path,name,- pelo menos uma coluna do atributo selecionado.
entity_id não é necessá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.
Trabalhar com select e multiselect
O módulo suporta select e multiselect através dos labels das opções.
Não é necessário indicar os ID 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 assinalados:
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 inclui:
- 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,
- vista da loja,
- 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 à vista da loja 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 efetiva.
- Limpe a cache se as alterações não forem visíveis de imediato.
Importação segura de novas categorias
- Prepare um CSV com
category_path,parent_pathouparent_entity_id. - Certifique-se de que os pais existem ou aparecem mais cedo no ficheiro.
- Selecione a importação
insert. - Assinale, no mínimo,
namee outros atributos necessários. - Execute
Dry Run. - Corrija os erros do relatório.
- Execute a importação efetiva.
Cache e índices
Após importar alterações nas categorias, recomenda-se 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 típicas do Magento, guardar categorias através dos mecanismos padrão do Magento deve iniciar os processos adequados associados ao modelo de categoria, mas após grandes importações 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 à vista da loja selecionada no formulário de importação.
A importação não altera valores
Verifique:
- se o atributo foi assinalado 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 um erro
Verifique se o label da opção no CSV corresponde exatamente ao label da opção no Magento para a vista da loja selecionada.
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 da imagem foi assinalado para importação.
Insert comunica falta de pai
Verifique parent_entity_id ou parent_path. O pai deve existir no Magento ou encontrar-se mais cedo no ficheiro de importação.
Desinstalação do módulo
Se o módulo tiver sido instalado via 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_historyCustomer Reviews
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.