DataFirefly Fix Product Category: associar os produtos às suas categorias-mãe
Instalação, simulação e correção em massa, modo automático, exclusões e resolução de problemas.
Instalação
Instale o módulo em Módulos > Gestor de módulos > Enviar um módulo enviando o ficheiro ZIP, ou copie a pasta dffixproductcategory para o diretório /modules/ da loja e clique em Instalar.
A instalação acrescenta o separador Correção de categorias de produto no menu Catálogo e regista os hooks do modo automático. Não é criada nenhuma tabela: o módulo só escreve na tabela nativa category_product.
A correção em massa acrescenta associações em todo o catálogo. Faça uma cópia de segurança da tabela category_product antes da primeira correção, para poder voltar atrás se o resultado não corresponder à organização do seu catálogo.
Funcionamento
Para cada categoria de um produto, o módulo sobe na árvore até ao topo e acrescenta as categorias-mãe a que o produto ainda não está associado. São tidas em conta todas as categorias do produto, e não apenas a categoria predefinida.
Exemplo: um produto associado apenas a Sapatilhas > Corrida > Trail é acrescentado a Corrida e a Sapatilhas. A categoria Raiz nunca é acrescentada, e a categoria Início só quando a opção correspondente está ativa.
- Nenhuma associação existente é removida.
- A categoria predefinida do produto nunca é alterada: o caminho de navegação e o URL do produto mantêm-se.
- O produto fica na última posição de cada categoria acrescentada, o que preserva a ordenação manual.
- A árvore é lida a partir da categoria-mãe de cada categoria, pelo que o resultado é correto mesmo que a árvore aninhada do PrestaShop não tenha sido regenerada.
Correção em massa
Abra Catálogo > Correção de categorias de produto. O painel Correção em massa trata todo o catálogo por lotes, com uma barra de progresso.
Simular
Clique em Simular. Nada é gravado. Os contadores indicam o número de produtos abrangidos, os produtos a corrigir e as associações em falta. A tabela de pré-visualização lista os primeiros 100 produtos afetados com as categorias que vão receber.
Corrigir o catálogo
Clique em Corrigir o catálogo e confirme. Os lotes seguem até ao fim do catálogo e o contador Associações adicionadas mostra o resultado. Pode voltar a lançar a correção a qualquer momento: os produtos já corrigidos não são alterados.
Apenas produtos ativos
Marque esta caixa para limitar a simulação e a correção aos produtos ativos da loja atual. Por predefinição, todos os produtos são tratados, incluindo os desativados, para ficarem bem classificados no dia em que os voltar a ativar.
Definições
Incluir a categoria Início
Desativado por predefinição. Depois de ativado, a categoria Início é acrescentada como qualquer outra categoria-mãe. Em multiloja, cada loja tem a sua própria categoria Início e a definição aplica-se a cada uma.
Modo automático ao guardar um produto
Ativado por predefinição. Cada produto criado ou alterado é associado às suas categorias-mãe. O tratamento acontece no fim do pedido, depois de as categorias do produto estarem gravadas, o que cobre a ficha de produto do PrestaShop 8 e 9, a importação CSV e o webservice.
Modo automático ao mover uma categoria
Ativado por predefinição. Quando muda a categoria-mãe de uma categoria, todos os produtos do seu ramo são associados às novas categorias-mãe. Alterar o nome ou a descrição não desencadeia nada. As antigas categorias-mãe continuam associadas aos produtos: remova-as manualmente se necessário.
Categorias excluídas
Selecione as categorias que nunca devem ser acrescentadas como categoria-mãe, por exemplo uma categoria montra de Promoções ou Novidades. O campo de filtro encontra uma categoria pelo nome, e Ctrl (Cmd no Mac) permite selecionar várias. Uma categoria excluída é ignorada, mas as suas próprias categorias-mãe continuam a ser acrescentadas.
Tamanho do lote
Número de produtos tratados por pedido durante a correção em massa, de 20 a 2000. O valor predefinido, 200, serve para a maioria dos alojamentos. Reduza-o se um pedido ultrapassar o tempo máximo de execução do servidor.
Navegação por facetas
Após cada adição de associações, o módulo limpa a cache dos blocos de filtros do ps_facetedsearch, para que os filtros das categorias-mãe tenham em conta os novos produtos. Como as associações existem na base de dados, a opção de mostrar os produtos das subcategorias no módulo de navegação por facetas deixa de ser necessária.
Boas práticas
- Lance uma simulação antes da primeira correção e percorra a pré-visualização para validar o resultado.
- Defina as exclusões antes da correção em massa, não depois: o módulo nunca remove uma associação já criada.
- Após uma importação grande, volte a lançar uma correção em massa para confirmar que nenhum produto ficou de fora.
- Limpe a cache da loja se uma listagem não mostrar logo os novos produtos.
Resolução de problemas
O modo automático não funciona para alguns funcionários
O PrestaShop ignora os hooks de um módulo quando o perfil do funcionário ligado não tem a permissão Ver nesse módulo (Parâmetros avançados > Equipa > Permissões, secção Módulos). Atribua esta permissão aos perfis que editam o catálogo, ou lance uma correção em massa depois das suas alterações.
Uma categoria retirada a um produto volta ao guardar
É o comportamento esperado do modo automático: qualquer categoria-mãe de uma categoria do produto é acrescentada de novo. Acrescente essa categoria às exclusões, ou retire também do produto a subcategoria correspondente.
A correção em massa para com um erro
Reduza o tamanho do lote e volte a lançar: os produtos já tratados são ignorados na passagem seguinte. Os erros do modo automático são registados em Parâmetros avançados > Registos e nunca bloqueiam a gravação do produto.
Compatibilidade
- PrestaShop 8.0 a 9.x, o mesmo ZIP cobre os dois ramos.
- Multiloja e multilíngue.
- Arquitetura ModuleAdminController, sem dependência Composer.
- Interface disponível em francês, inglês, espanhol, alemão, italiano, neerlandês, polaco e português.