PS PrestaShop Iniciante

Reciclagem de Produtos: guia completo

Instalar, configurar e explorar a reciclagem de produtos: cópia automática antes da eliminação, restauração tal e qual com o ID de origem, cópia dos ficheiros de imagem, retenção automática e boas práticas para PrestaShop 8 e 9.

Atualizado Versão do módulo 1.0.0

Apresentação

O módulo Reciclagem de Produtos transforma cada eliminação de produto numa cópia de segurança reversível. Mesmo antes de um produto ser apagado, seja manualmente, em eliminação em massa, por uma importação ou por um script, o módulo faz uma captura completa e coloca-a numa reciclagem. Pode depois restaurar o produto tal e qual com um clique, com o seu ID de origem, o que preserva os seus URL e o seu posicionamento nos motores de busca.

A captura abrange os dados na base de dados (ficha, traduções, combinações, preços, stocks, categorias, características, etc.) e os ficheiros de imagem em disco. O módulo é compatível com o PrestaShop 8 e 9, tanto em loja única como em multiloja, e é multilingue.

Instalação

  1. No back-office, abra Módulos > Gestor de módulos.
  2. Clique em Instalar um módulo e carregue o ficheiro ZIP do módulo.
  3. Assim que a instalação terminar, clique em Configurar.

Na instalação, o módulo cria uma tabela de cópias de segurança dedicada, uma pasta de cópias protegida para as imagens e um novo separador Reciclagem de produtos no menu Catálogo. A vigilância das eliminações fica ativa de imediato, sem qualquer configuração prévia.

Aceder à reciclagem

A reciclagem está acessível de duas formas: pelo menu Catálogo > Reciclagem de produtos, ou pelo botão Abrir a reciclagem presente na página de configuração do módulo. A lista apresenta os produtos guardados e ainda não restaurados, com o ID de produto de origem, o nome, a referência, o número de imagens guardadas, o autor da eliminação e a data.

Como funciona a cópia de segurança

O módulo liga-se ao hook actionObjectProductDeleteBefore, despoletado pelo PrestaShop mesmo antes de apagar um produto, no momento em que todos os seus dados ainda estão na base. Este hook é usado tanto pela página de produto antiga como pela nova página Symfony do PrestaShop 8 e 9, bem como pelas eliminações em massa: cada produto eliminado é, por isso, guardado individualmente.

A captura inclui:

  • a ficha de produto, as suas versões por loja e as suas traduções em todos os idiomas;
  • as combinações, os seus atributos e as suas versões por loja;
  • os preços específicos, os stocks e as associações a categorias;
  • as características, as etiquetas, os fornecedores e as transportadoras;
  • os anexos, os produtos associados, os packs e os produtos virtuais descarregáveis;
  • os campos de personalização e as suas traduções;
  • os ficheiros de imagem, em todos os tamanhos gerados, copiados para uma pasta de cópias protegida.

A captura é silenciosa e nunca bloqueia a eliminação. Se uma etapa da cópia falhar por qualquer motivo, o PrestaShop prossegue normalmente com a eliminação: o módulo não perturba o funcionamento da loja.

Restaurar um produto

  1. Abra Catálogo > Reciclagem de produtos.
  2. Localize na lista o produto a restaurar (pode filtrar e ordenar as colunas).
  3. Clique no botão verde Restaurar e confirme.

O módulo reintroduz então todas as tabelas relacionadas numa única transação, mantendo os identificadores de origem, volta a copiar os ficheiros de imagem para o seu local exato e relança depois a indexação da pesquisa. O produto reaparece no seu catálogo tal como estava antes de ser eliminado e a sua entrada desaparece da reciclagem. O HTML das descrições é preservado ao carácter.

Anticonflito. A restauração verifica primeiro se o ID de produto está livre. Se outro produto já tiver esse identificador, a restauração é anulada e uma mensagem informa-o, para nunca sobrepor uma ficha existente. Na prática, o PrestaShop não reutiliza os identificadores eliminados, pelo que este caso é raro.

Eliminar definitivamente e esvaziar a reciclagem

Para libertar espaço, pode eliminar definitivamente uma cópia à unidade, com o botão vermelho da coluna Ações. Esta ação elimina a captura e os ficheiros de imagem associados; é irreversível.

O botão Esvaziar a reciclagem, no topo da lista, elimina definitivamente todas as cópias não restauradas numa só operação.

Configuração

Guardar os ficheiros de imagem

Com esta opção ativada (predefinição), o módulo copia os ficheiros de imagem de todos os tamanhos na eliminação e volta a colocá-los no lugar na restauração. Desative-a se quiser guardar apenas os dados e poupar espaço em disco; nesse caso, as linhas de imagem permanecem na captura mas os ficheiros não são restaurados.

Retenção (dias)

Defina o número de dias a partir do qual as cópias são limpas automaticamente. O valor 0 conserva as cópias sem limite de tempo. A limpeza é executada ao longo das eliminações seguintes.

Multiloja e multilingue

A captura recolhe todos os idiomas e todas as lojas associadas ao produto, e a restauração repõe-nos integralmente. O módulo funciona tanto numa loja única como num PrestaShop multiloja.

Boas práticas e casos especiais

  • Catálogos grandes: cada eliminação cria uma cópia. Defina uma retenção adequada para evitar uma acumulação desnecessária se eliminar frequentemente muitos produtos (importações de substituição, por exemplo).
  • Pasta de cópias: está protegida por um .htaccess e um index.php e, por isso, não é acessível publicamente. Tem de continuar acessível para escrita pelo servidor.
  • Importações: uma importação que elimina e volta a criar produtos enche a reciclagem com as versões eliminadas. É deliberado e útil em caso de importação falhada; lembre-se de esvaziar a reciclagem depois de validar a importação.

Desinstalação

A desinstalação do módulo elimina a tabela de cópias, o separador do menu e toda a pasta de cópias (capturas e ficheiros de imagem). Os produtos já restaurados e presentes no catálogo não são afetados.

FAQ

A reciclagem funciona com a eliminação em massa e com a nova página de produto?

Sim. A captura assenta num hook usado pela página de produto antiga, pela nova página Symfony do PrestaShop 8 e 9 e pelas eliminações em massa. Cada produto eliminado é guardado individualmente.

A restauração mantém o mesmo ID de produto?

Sim. O produto é restaurado com o identificador de origem, o que preserva os seus URL, os seus redirecionamentos e o seu posicionamento nos motores de busca. Se o identificador já estiver ocupado, a restauração é bloqueada.

As imagens são restauradas, ficheiros incluídos?

Sim, quando a opção de cópia das imagens está ativada. Os ficheiros de todos os tamanhos são copiados na eliminação e repostos na restauração, sendo depois a pesquisa reindexada.

O módulo é compatível com o PrestaShop 9?

Sim, o módulo é compatível com o PrestaShop 8.x e 9.x, tanto em loja única como em multiloja.

Esta página foi útil?

Ainda com dúvidas? Contacte o suporte