Magento

Remover todas as fotos de um produto no Magento

Como remover todas as fotos de um produto no , programaticamente.

Para realizar essa operação, iremos utilizar o model “catalog/product_attribute_media_api”.

Carregando model:

$mediaApi = Mage::getModel("catalog/product_attribute_media_api");

Segundo passo é recuperar as fotos que estão associadas ao produto, para isso iremos precisar do ID do produto.

$mediaApiItems = $mediaApi->items($id);

Com “foreach” iremos percorrer todos os items, removendo um a um.

foreach($mediaApiItems as $item) {  
  $datatemp=$mediaApi->remove($id, $item['file']); 
}

Repare no código acima a utilização do método “remove”, aonde passo o ID do produto no primeiro parâmetro e a foto no segundo.

Código completo para remover todas as fotos de um produto

$product = Mage::getModel('catalog/product')->load($id);

set_time_limit(0); 

if(method_exists($product,'getId')){

    $mediaApi = Mage::getModel("catalog/product_attribute_media_api");
   
    $mediaApiItems = $mediaApi->items($id);  
  
    foreach($mediaApiItems as $item) {  
      $datatemp=$mediaApi->remove($product->getId(), $item['file']); 
    }

}

No código completo eu carrego o produto antes para validar se ele realmente exite.

Utilizo também a função “set_time_limit(0)”, passando o valor zero eu deixo sem limite de tempo de execução para nosso script.

Observação e links

Depois que você remover todas as fotos de um produto não esqueça de limpar o do Magento: Limpando cache programaticamente

Caso você queira adicionar uma foto, neste post tem tutorial com código fonte de exemplo: Como adicionar uma imagem no produto programaticamente

Resumo
Nome do Artigo
Como remover todas as fotos de um produto no Magento
Descrição
Tutorial de como remover todas as fotos de um produto no Magento, removendo item a item utilizando a função "remove" do model "product_attribute_media_api"
Autor
Editor
Roger Mauricio Takemiya
Logo do Editor

Post Recentes

Por que devo sempre manter o Magento 2 atualizado?

Segurança: Atualizações frequentes geralmente incluem patches de segurança para corrigir vulnerabilidades identificadas. Ao manter o Magento atualizado, você reduz significativamente…

4 semanas atrás

Adicionar uma mensagem de Alerta ou Aviso do Admin do Magento 2

Como adicionar uma mensagem de Alerta ou Aviso do Admin do Magento 2 Injete o Magento\Framework\Message\ManagerInterface no construtor da sua…

1 mês atrás

Exibir mensagens erro/sucesso da Classe: Magento\Framework\Message\ManagerInterface

Para exibir as mensagens adicionadas na classe Magento\Framework\Message\ManagerInterface em um arquivo .phtml, você pode usar o seguinte código: <?php $objectManager…

1 mês atrás

Exportar as categorias do Magento 2 em um XML

Para criar um script no Magento 2 que exporte as categorias para um arquivo XML com o nome da categoria,…

2 meses atrás

Colocar um video como Background utilizando HTML + CSS

Para definir um vídeo MP4 como plano de fundo em um <div> usando HTML e CSS, você pode seguir estas…

4 meses atrás

Desativar o “lastname” no Magento 2

Como desativar o "lastname" no Magento 2 e Adobe Commerce Desativando a obrigatoriedade do campo Execute a SQL abaixo diretamente…

4 meses atrás