PS PrestaShop Intermédio

DataFirefly Catalog Merge: unir atributos e características duplicados

Instalação, definições, união de valores de atributos e características duplicados, ordem de apresentação e resolução de problemas.

Atualizado Versão do módulo 1.0.0

<h2>Instalação</h2>
<p>Instale o módulo a partir de <strong>Módulos > Gestor de módulos > Carregar um módulo</strong>, enviando o ficheiro ZIP, ou copie a pasta <code>dfcatalogmerge</code> para o diretório <code>/modules/</code> da sua loja e clique em Instalar.</p>
<p>Na instalação, o módulo cria as suas duas tabelas (posições dos valores de características e histórico das uniões), regista o hook <code>filterProductContent</code> e acrescenta um separador <strong>União de catálogo</strong> no menu Catálogo.</p>
<div class=”df-callout warn”><p>Este módulo altera definitivamente os dados do seu catálogo. Antes da primeira campanha de limpeza, faça uma cópia de segurança da base de dados. As uniões não são reversíveis.</p></div>

<h2>Definições do módulo</h2>
<p>As definições encontram-se na página de configuração do módulo. Quatro opções, todas ativadas por predefinição.</p>
<h3>Forçar a ordem nas fichas de produto</h3>
<p>Aplica as posições definidas aos valores de características apresentados na ficha de produto. Esta opção é indispensável no PrestaShop 8, cujo núcleo não ordena os valores de características. No PrestaShop 9 o módulo alimenta ainda a coluna de posição nativa, e a opção garante o mesmo resultado seja qual for a definição <code>PS_FEATURE_VALUES_ORDER</code> da loja.</p>
<h3>Unir as combinações duplicadas</h3>
<p>Quando duas combinações do mesmo produto ficam idênticas após uma união, o módulo reúne-as automaticamente. Desative esta opção apenas se quiser tratar esses casos manualmente, tendo em conta que o PrestaShop gere mal duas combinações com exatamente os mesmos atributos.</p>
<h3>Atualizar as tabelas de terceiros</h3>
<p>O módulo procura na base de dados todas as tabelas com uma coluna <code>id_attribute</code> ou <code>id_feature_value</code> fora das tabelas do núcleo, em especial o índice da pesquisa por facetas, e reaponta ou elimina as linhas envolvidas. Sem esta opção podem ficar filtros fantasma depois de uma união.</p>
<h3>Guardar um histórico das uniões</h3>
<p>Regista cada união aplicada: valor de origem, valor de destino, número de linhas alteradas, funcionário e data. Consultável no separador Histórico.</p>

<h2>Unir valores de atributos</h2>
<p>Abra <strong>Catálogo > União de catálogo</strong>, separador <strong>Valores de atributos</strong>. Escolha o grupo de atributos a limpar e o idioma em que quer ler as etiquetas.</p>
<p>A tabela lista os valores do grupo com o número de produtos e de combinações que usam cada um. Marque os duplicados a eliminar, escolha o valor a conservar na lista «Unir os valores selecionados em» e clique em <strong>Simular</strong>.</p>
<h3>Ler o relatório de simulação</h3>
<p>A simulação não escreve nada. O relatório indica o número de linhas de combinação a converter, os produtos envolvidos, as combinações que já têm o valor de destino e as que ficarão idênticas após a união. Se o relatório o convencer, clique em <strong>Aplicar esta união</strong>.</p>
<h3>O que acontece às combinações</h3>
<p>Todas as combinações que usam um valor eliminado passam para o valor conservado. Três casos particulares são tratados automaticamente:</p>
<ul>
<li>Uma combinação já tinha o valor de destino e o seu duplicado: a linha duplicada é removida e o resto da combinação não é tocado.</li>
<li>Duas combinações do mesmo produto ficam idênticas: são reunidas. As quantidades são somadas loja a loja, as imagens e os preços específicos transferidos, a combinação predefinida conservada e o stock do produto principal ressincronizado.</li>
<li>Os carrinhos em curso que referenciam a combinação eliminada são reapontados para a que permanece.</li>
</ul>
<div class=”df-callout note”><p>Os valores a unir têm de pertencer ao mesmo grupo de atributos do valor de destino. O módulo recusa uma união entre dois grupos diferentes, que produziria combinações incoerentes.</p></div>

<h2>Unir valores de características</h2>
<p>O separador <strong>Valores de características</strong> funciona da mesma forma: escolha uma característica, marque os duplicados, escolha o valor de destino, simule e aplique.</p>
<p>As associações de produto são convertidas para o valor conservado. Se um produto já tinha os dois valores, a associação duplicada é eliminada. No PrestaShop 9, os valores de características ligados às combinações são tratados ao mesmo tempo.</p>
<h3>Valores personalizados</h3>
<p>O PrestaShop permite introduzir um valor de característica próprio de um único produto, marcado como <em>personalizado</em> na tabela. Estes valores são a primeira fonte de duplicados depois de uma importação. Pode uni-los num valor partilhado como qualquer outro. Se o valor de destino era ele próprio personalizado e passa a ser utilizado por vários produtos após a união, o módulo converte-o automaticamente em valor partilhado.</p>

<h2>Detetar duplicados automaticamente</h2>
<p>O separador <strong>Deteção de duplicados</strong> analisa todo o catálogo e agrupa os valores cuja etiqueta é idêntica depois de ignorar maiúsculas, acentos, pontuação e espaços repetidos. «Vermelho», «vermelho» e «VERMELHO» formam assim um único grupo, tal como «Algodão bio» e «algodao-bio».</p>
<p>Para cada grupo, o valor mais utilizado é proposto como destino, com preferência pelos valores partilhados em vez dos personalizados. O botão <strong>Simular esta união</strong> envia o grupo para o ecrã de simulação, onde mantém o controlo da decisão final.</p>
<p>A análise corre no idioma selecionado. Num catálogo multilingue, repita-a em cada idioma: um duplicado pode existir apenas numa tradução.</p>

<h2>Definir a ordem de apresentação</h2>
<p>Nos dois primeiros separadores, cada linha tem uma pega à esquerda. Arraste uma linha para mudar a sua posição: a nova ordem é guardada de imediato, sem recarregar a página.</p>
<p>O botão <strong>Ordenar automaticamente</strong> organiza os valores sem trabalho manual. Os tamanhos de vestuário seguem a sequência XS, S, M, L, XL, XXL em vez da ordem alfabética, e os valores numéricos seguem a ordem natural: 2 antes de 10, 39 antes de 41.</p>
<h3>O que o cliente vê</h3>
<p>Para os valores de atributos, a posição é a utilizada pelo seletor de combinações da ficha de produto, tanto no PrestaShop 8 como no 9. Não é necessária qualquer definição adicional.</p>
<p>Para os valores de características, a ordem aplica-se à tabela de características da ficha de produto desde que a opção «Forçar a ordem nas fichas de produto» esteja ativa. No PrestaShop 9 a posição nativa é alimentada em paralelo, o que leva a mesma ordem aos restantes ecrãs do back office.</p>
<div class=”df-callout tip”><p>Se a ordem não mudar no front depois de uma alteração, esvazie a cache da loja. As fichas de produto são colocadas em cache pelo PrestaShop e pela maioria dos módulos de desempenho.</p></div>

<h2>Histórico das uniões</h2>
<p>O separador <strong>Histórico</strong> lista as uniões aplicadas, da mais recente para a mais antiga: data, tipo, valor de origem com o seu identificador, valor conservado e número de linhas alteradas. Os identificadores são conservados para permitir o cruzamento com uma cópia de segurança da base de dados caso precise de reverter algo manualmente.</p>

<h2>Boas práticas</h2>
<ul>
<li>Faça uma cópia de segurança da base de dados antes de uma campanha de limpeza, sobretudo num catálogo de vários milhares de produtos.</li>
<li>Simule sempre. O relatório mostra-lhe as combinações que vão desaparecer por união antes de isso acontecer.</li>
<li>Trabalhe grupo a grupo em vez de numa única passagem, para manter relatórios legíveis.</li>
<li>Depois de uma união importante, reconstrua o índice da pesquisa por facetas se usar esse módulo.</li>
<li>Numa loja com muito tráfego, aplique as uniões em horas de menor carga: a conversão das combinações bloqueia brevemente as tabelas envolvidas.</li>
</ul>

<h2>Resolução de problemas</h2>
<h3>A união é recusada com uma mensagem sobre o grupo de atributos</h3>
<p>Todos os valores marcados têm de pertencer ao mesmo grupo de atributos do valor de destino, ou à mesma característica no caso dos valores de características. Verifique se não marcou um valor de outro grupo com o mesmo nome.</p>
<h3>A ordem dos valores de características não muda na ficha de produto</h3>
<p>Verifique se a opção «Forçar a ordem nas fichas de produto» está ativa e esvazie a cache. Se o seu tema apresentar as características através de um módulo de terceiros em vez das variáveis nativas da ficha de produto, a ordem pode não ser respeitada: contacte-nos indicando o nome do tema.</p>
<h3>Uma união foi interrompida</h3>
<p>As escritas decorrem dentro de uma transação: em caso de erro a base volta ao estado inicial e nenhum dado se perde. A mensagem de erro apresentada no topo do ecrã contém a causa. As tabelas têm de ser InnoDB para que a anulação funcione.</p>
<h3>Os filtros por facetas continuam a mostrar o valor eliminado</h3>
<p>Certifique-se de que a opção «Atualizar as tabelas de terceiros» estava ativa no momento da união e reconstrua o índice do módulo de navegação por facetas a partir da sua página de configuração.</p>

<h2>Compatibilidade</h2>
<ul>
<li>PrestaShop 8.0 até 9.x, o mesmo ZIP cobre os dois ramos.</li>
<li>Multiloja e multilingue.</li>
<li>Arquitetura ModuleAdminController, sem dependência Composer.</li>
<li>Interface disponível em português, francês, inglês, espanhol, alemão, italiano, neerlandês e polaco.</li>
</ul>

Esta página foi útil?

Ainda com dúvidas? Contacte o suporte