
Como remover todas as fotos de um produto no Magento, 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.
$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.
Depois que você remover todas as fotos de um produto não esqueça de limpar o Cache 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
Site novo há semanas e nenhuma página indexada? Confira a caixinha de visibilidade em Leitura, o noindex no HTML e…
O retorno do array_map voltou com índice 0, 1, 2 e o código que dependia da chave quebrou. Entenda quando…
Dump de 12 GB que demora horas porque arrasta report_event e cron_schedule. Faça o backup em duas passadas, guarde só…
Escreveu a preference e o Magento 2 continua usando a classe original? Confira a área do di.xml, o generated/code e…
Cadastrou Cor direto na aba Atributos do produto e o filtro por atributo vem vazio. Veja como identificar o tipo,…
Precisa de um SELECT no banco do cliente e só tem SSH? O wp db query pega a senha do…