
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
Negar /.env no nginx parece resolvido até alguém pedir /wp-content/uploads/.env ou backup.sql. As regras que testei e os furos que…
O Search Console marca suas páginas 2, 3 e 4 como alternativas da página 1? Ajuste a tag canônica do…
Um módulo de terceiro plantou um banner no topo da loja e você não quer desinstalar nada: tire o bloco…
Importou o banco de produção e o site pula para o domínio antigo? Rode o UPDATE em core_config_data, limpe o…
Seu catch trata pedido inexistente e banco fora do ar do mesmo jeito. Veja como criar exceção customizada em PHP…
O form do admin salva mas abre em branco na edição: veja o getData() indexado pelo id da entidade e…