
Como alterar o estoque ou status de um produto no Magento.
Tanto a quantidade em estoque ou o status são atributos importantes para gerenciar a visibilidade e disponibilidade do produto.
É importante observar que o atributo status sobrepõem as regras de “estoque” ou “visibilidade” do produto, desabilitando totalmente do “frontend” da loja.
Para realizar a atualização do produto, precisamos primeiramente carregar o objeto do produto.
$id = Mage::getModel('catalog/product')->getIdBySku($sku);
$product = Mage::getModel('catalog/product')->load($id); No exemplo acima, estou recuperando o ID do produto utilizando o “Sku”.
Após feito isso, utilizo o ID no método “load()” do Model “catalog/product” para carregar o objeto.
Obviamente, se você já tiver o ID disponível no seu código, pular a parte do “Sku”.
Valores que podem ser utilizados:
$product->setStatus($status); $product->save();
Com o ID do produto, carregamos o objeto “stock_item” utilizando método “loadByProduct()”.
$stockItem = Mage::getModel('cataloginventory/stock_item')->loadByProduct( $id );
$stockItem->setData('qty', $stock);
$stockItem->save(); $stock_data=array(
'use_config_manage_stock' => 1,
'qty' => $stock_qty,
'min_qty' => $stock_min_qty ,
'use_config_min_qty'=>1,
'min_sale_qty' => 1,
'use_config_min_sale_qty'=>1,
'max_sale_qty' => $stock_max_sale_qty,
'use_config_max_sale_qty'=>1,
'is_qty_decimal' => 0,
'backorders' => 0,
'notify_stock_qty' => 1,
'is_in_stock' => $is_in_stock
);
$product->setData('stock_data',$stock_data);
$product->save();
No array “stock_data” passamos todos os parâmetros de configuração.
Valores que podem ser utilizados:
$product->setVisibility($visibility); $product->save();
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…