Kowal Custom Header Links para Magento 2
12,50 € 12,50 €
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.
O módulo destina-se a:
store view selecionado.store view selecionado.update.insert.select e multiselect através dos labels das opções.dry-run, ou seja, validação completa da importação sem gravação de dados.url_key.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:
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,O módulo suporta dois modos de exportação de valores:
resolved_value - é exportado o valor visível no store view em 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 o store view em 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.
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:
url_key,updateO 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:
Exemplo de cenário de tradução:
store_view_code no CSV para o código do store view de destino.entity_id.name, description, meta_title, meta_description.update para 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.
insertO 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,parent_path.O modo insert é recomendado para:
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.
A primeira linha do ficheiro CSV deve conter os cabeçalhos das colunas. As colunas dividem-se em:
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.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.
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 fitnessstore_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,1O 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.
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.
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 - gera url_key com base no atributo name.keep_existing - no modo update, mantém o url_key atual.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:
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.O modo dry-run permite executar a validação da importação sem guardar dados no Magento.
Neste modo, o módulo:
select e multiselect,Este é o primeiro passo recomendado antes de qualquer importação maior.
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.
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.
Após a importação, o módulo gera um relatório CSV com:
O histórico de importações está disponível no painel de administração. O administrador pode verificar:
dry-run,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:
O módulo não elimina categorias nem importa produtos atribuídos a 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.
Exporta os atributos meta_title, meta_description, url_key, edita-os no CSV e importa apenas as colunas selecionadas.
Prepara um ficheiro CSV com category_path, parent_path, name e outros atributos obrigatórios e, em seguida, importa-o no modo insert.
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.
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.tandembaits.com é uma loja online que atua no setor da pesca. A oferta da loja assenta num sortido especializado, no qual nomes corretos de categorias, descrições precisas e URLs bem preparados têm impacto direto na usabilidade da loja, em SEO e na comunicação com clientes em diferentes países.
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. Muitas vezes referem-se a técnicas de pesca específicas, tipos de iscos, acessórios, séries de produtos ou conceitos utilizados apenas por pescadores experientes.
Com 10 versões linguísticas, a gestão manual de categorias no painel Magento era demasiado demorada e suscetível a erros. O cliente precisava de ter controlo total sobre:
A escala do trabalho abrangia várias dezenas de categorias em 10 versões linguísticas. Isto significava centenas de valores de texto a preparar, verificar, corrigir e importar.
O trabalho padrão no painel Magento exigiria a edição de cada categoria separadamente para cada store view. Com várias dezenas de categorias e 10 idiomas, esse processo seria lento e difícil de controlar.
Os principais riscos do trabalho manual:
O cliente precisava de um processo que permitisse preparar dados em lote, verificá-los antes da importação e guardar em segurança apenas os atributos selecionados para um store view específico.
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 dados linguísticos fora do painel Magento e voltar a importar valores para o store view selecionado.
O processo baseou-se no modo update, uma vez que a estrutura de categorias já existia na loja. O objetivo não era criar uma nova árvore de categorias, mas completar e corrigir dados para as versões linguísticas seguintes.
No projeto, as seguintes funcionalidades do módulo foram essenciais:
entity_id como identificador estável da categoria,store_view_code para o código da versão linguística de destino,update,url_key,Primeiro, foi realizada a exportação de categorias a partir do store view base. O ficheiro CSV continha colunas de sistema e 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 principais atributos de trabalho:
name,url_key,description,meta_title,meta_description.Com base no CSV exportado, foram preparados dados separados para cada versão linguística.
Desta forma, as pessoas responsáveis pelos conteúdos puderam trabalhar numa folha de cálculo, vendo várias categorias em simultâneo. Isto foi especialmente 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 pesquisam produtos.
Nos ficheiros de importação, foi mantido o entity_id, para que o módulo pudesse associar inequivocamente as linhas do CSV às categorias Magento existentes.
Isto permitiu importar traduções sem o risco de criar categorias duplicadas.
Para cada versão linguística, era definido o store_view_code adequado no CSV e era selecionado o mesmo store view no formulário de importação.
O módulo validava a conformidade destes dados. Desta forma, foi reduzido o risco de importar acidentalmente traduções para a vista de loja errada.
A importação era realizada em modo update, selecionando apenas os atributos que deveriam ser alterados para a versão linguística em causa.
Desta forma, o módulo não interferia com os restantes dados da categoria.
Antes da importação efetiva, era possível executar a validação sem gravar dados.
O modo dry-run permitia verificar:
store_view_code correspondia ao store view selecionado,entity_id indicava categorias existentes,Após a importação, o módulo gerava um relatório que permitia verificar o estado de cada linha.
O relatório era especialmente útil no trabalho com vários idiomas, pois permitia detetar rapidamente eventuais erros num ficheiro específico ou numa categoria específica.
O CSV era um formato prático para este projeto, porque:
entity_id e store_view_code.O módulo permitiu ao cliente gerir categorias em 10 versões linguísticas de forma organizada e repetível.
Em vez de editar manualmente cada categoria no painel Magento, a equipa pôde trabalhar em ficheiros CSV, preparar traduções em lote e importar apenas os atributos selecionados para um store view específico.
Principais benefícios:
No projeto, a possibilidade de controlar url_key, os nomes das categorias e as descrições foi particularmente importante.
Para uma loja que opera em vários idiomas, a tradução automática ou a cópia acidental de nomes de categorias não é suficiente. Cada mercado pode utilizar termos setoriais diferentes, e na pesca as diferenças terminológicas são especialmente relevantes.
O módulo permitiu preparar valores de SEO de forma consciente para cada versão linguística:
A expansão de tandembaits.com com 10 versões linguísticas exigia uma ferramenta que permitisse gerir categorias Magento 2 ao nível do store view de forma eficiente.
Export Import Categories resolveu este problema, transferindo o trabalho da edição manual no painel Magento para um processo controlado baseado em CSV, validação e importação de atributos selecionados.
Como resultado, o cliente passou a poder gerir de forma prática nomes de categorias especializados, URLs e descrições para vários idiomas, sem o risco de sobrescrever acidentalmente toda a estrutura de categorias.
Este documento descreve a instalação, a configuração e a utilização do módulo Kowal_ExportImportCategories para Magento 2. As instruções têm em conta as informações do ficheiro README.md e as funcionalidades implementadas no módulo.
8.1 ou mais recente.pub/media/import/categories.O módulo está disponível através de um repositório Composer.
composer config repositories.export.import.categories vcs https://github.com/kowalco/export-import-categoriesSe o repositório for privado, configure o token GitHub:
composer config --global --auth github-oauth.github.com Substitua pelo seu próprio token de acesso.
composer require kowal/module-export-import-categoriesbin/magento module:enable Kowal_ExportImportCategoriesbin/magento setup:upgradebin/magento cache:flushEm ambientes de produção ou no modo production:
bin/magento setup:di:compileSe o ambiente o exigir:
bin/magento setup:static-content:deploybin/magento cache:flushEm 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:compileApó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.O módulo adiciona permissões administrativas separadas:
Export/Import Categories,Se o utilizador administrador 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.
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.A vista de exportação permite gerar um ficheiro CSV com categorias.
Seleciona o store view a partir do qual serão lidos os valores dos atributos das 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.
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 do store view selecionado.
Define como exportar valores dependentes do store view.
Opções disponíveis:
resolved_value,store_override_only.resolved_value exporta o valor visível no store view selecionado, após 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.
Separador CSV. Por predefinição:
,Pode ser utilizado outro separador se o ficheiro for editado numa ferramenta que exija, por exemplo, ponto e vírgula.
Lista de atributos de categorias disponíveis no Magento.
O módulo obtém os atributos dinamicamente a partir do 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.
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 servem para identificar categorias, validar o store view e gerir a estrutura da árvore.
A vista de importação permite carregar um CSV e guardar dados de categorias.
Seleciona o store view no qual os valores serão guardados.
Este campo determina o store_id numérico utilizado na gravação nas tabelas Magento.
A coluna store_view_code do CSV não é convertida diretamente em store_id. É utilizada para validar se o ficheiro corresponde ao store view selecionado.
Exemplo:
store_id = 1,store_view_code correspondente a esse store view,store_id = 1.Modos disponíveis:
update,insert.update atualiza categorias existentes.
insert cria novas categorias.
Ficheiro CSV com cabeçalhos na primeira linha.
O ficheiro deve estar codificado em UTF-8.
Separador CSV. Deve corresponder ao separador utilizado no ficheiro.
Define o comportamento para colunas que não são colunas de sistema nem atributos de categorias conhecidos.
Opções disponíveis:
error - a importação comunica um erro para colunas desconhecidas.ignore - as colunas desconhecidas são ignoradas.Opção recomendada:
errorDefine como o módulo interpreta células CSV vazias.
Opções 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 que o Magento utilize o valor predefinido.
Opção recomendada para importação de atualização:
skip_emptyDefine a forma de gerir o atributo url_key.
Opções disponíveis:
use_csv_value,generate_from_name,keep_existing,magento_default.use_csv_value guarda 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.
A opção define se o Magento deve criar um permanent redirect ao alterar url_key.
Vale a pena ativá-la quando a alteração do URL da categoria deve manter os redirecionamentos SEO a partir dos endereços antigos.
Diretório base para importação de imagens de categorias relativo a pub/media.
Por predefinição:
import/categoriesCaminho completo no Magento:
pub/media/import/categoriesSe no CSV indicar:
gear/bags.jpgo módulo procurará o ficheiro:
pub/media/import/categories/gear/bags.jpgDefine o comportamento da importação em caso de erros.
Opções 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 guardar dados.
Opção recomendada para ficheiros grandes:
skip_invalid_rowsNú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.
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 estiver selecionado no formulário, o módulo não deve guardá-lo.
Modo de validação sem gravação de dados.
Recomenda-se executar dry-run antes da importação efetiva, especialmente para ficheiros grandes ou alterações SEO.
O modo update serve para atualizar categorias existentes.
O CSV deve conter:
store_view_code,entity_id ou category_path,O módulo tenta encontrar a categoria por:
entity_id,category_path, se entity_id estiver 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.
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 sportoweConfiguraçõ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,Dry Run, depois a importação efetiva.O modo insert serve para criar novas categorias.
O CSV deve conter:
store_view_code,category_path,parent_entity_id ou parent_path,name,entity_id não é necessário, porque o Magento o atribui automaticamente.
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,1Configuraçõ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_value ou generate_from_name,Error Policy: skip_invalid_rows,Dry Run.O módulo suporta select e multiselect através dos labels das opções.
Não é necessário indicar os 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.
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.jpgConfigurações de importação:
Images Base Directory: import/categories,image, thumbnail.O módulo verificará se os ficheiros existem e têm extensões suportadas.
Após a importação, o módulo gera um relatório CSV.
O relatório contém:
Os estados podem incluir:
success,error,skipped_no_change,skipped_existing.O histórico de importações está disponível em:
System > Data Transfer > Export/Import Categories > Import HistoryO histórico contém:
dry-run,store_view_code corresponde ao store view de destino.update.Empty Values Policy como skip_empty.Dry Run.category_path, parent_path ou parent_entity_id.insert.name e outros atributos obrigatórios.Dry Run.Após importar alterações em 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 grandes importações recomenda-se verificar a cache e os índices.
Verifique se o código na coluna store_view_code corresponde ao store view selecionado no formulário de importação.
Verifique:
Attributes to Import,Empty Values Policy não está definido como skip_empty,Dry Run.Verifique se o label da opção no CSV corresponde exatamente ao label da opção no Magento para o store view selecionado.
Verifique:
pub/media/import/categories,Verifique parent_entity_id ou parent_path. O elemento pai deve existir no Magento ou encontrar-se antes no ficheiro de importação.
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 eliminado. O módulo cria a tabela:
kowal_export_import_categories_history