Pergunta

Eu tenho o sku a página e eu quero ver se o produto está em estoque ou no estoque e fazer o que eu tenho feito isso:

  $firstProductId = Mage::getSingleton('catalog/product')->getIdBySku('mysku');
                        $product = Mage::getModel('catalog/product');
                        $product->setId($firstProductId);
                        $inStock = Mage::getModel('cataloginventory/stock_item')->loadByProduct($product)->getIsInStock();

Eu quero saber se eu posso realizar isso sem carregar todo o produto de qualquer outro modo que é mais eficiente ou estou no caminho certo?

Foi útil?

Solução

Você pode usar esse código que dar de ações de forma mais rápida utilizando o id do produto

$model=Mage::getModel('cataloginventory/stock_item');
$model->getResource()->loadByProductId($model, $productId);
$data=$model->setOrigData();
echo "<pre>";
print_r($data->getData());

Fora é uma matriz

Um exemplo:

Array
(
    [item_id] => 1868
    [product_id] => 889
    [stock_id] => 1
    [qty] => 5000.0000
    [min_qty] => 0.0000
    [use_config_min_qty] => 1
    [is_qty_decimal] => 0
    [backorders] => 0
    [use_config_backorders] => 1
    [min_sale_qty] => 1.0000
    [use_config_min_sale_qty] => 1
    [max_sale_qty] => 0.0000
    [use_config_max_sale_qty] => 1
    [is_in_stock] => 1
    [low_stock_date] => 
    [notify_stock_qty] => 
    [use_config_notify_stock_qty] => 1
    [manage_stock] => 0
    [use_config_manage_stock] => 1
    [stock_status_changed_auto] => 0
    [use_config_qty_increments] => 1
    [qty_increments] => 0.0000
    [use_config_enable_qty_inc] => 1
    [enable_qty_increments] => 0
    [is_decimal_divided] => 0
    [type_id] => simple
    [stock_status_changed_automatically] => 0
    [use_config_enable_qty_increments] => 1
)

Outras dicas

Tente isso

$firstProductId = Mage::getSingleton('catalog/product')->getIdBySku('mysku');
$inStock = Mage::getModel('cataloginventory/stock_item')->getCollection()->addFieldToFilter('product_id', $firstProductId)->getFirstItem()

Isso deve fazer o truque.

Embora, não sei como eficiente seria, mas pode confirmar que é este magento forma.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a magento.stackexchange
scroll top