2011-11-02 22 views
5

Magento中属性is_in_stock的功能究竟是什么?产品是否在库存可以确定是否qty >= 1magento的使用is_in_stock

它似乎自动调整到当前stock_level(与最小允许数量相比?),但为什么然后您可以手动修改它?我觉得它没有用的修改它,因为它会改变到任何它想要的东西无论如何..

我无法通过谷歌找到关于此属性的功能很多信息,所以可能是一个很好的另外:-)。

回答

5

许多规模较小的商家将使用Magento的监控他们的实际“仓库”(备用房间)产品的库存水平。有时他们可能会暂时在网上商店中列出缺货项目,但他们会希望Magento中的库存号码能够反映其他商业原因的库存数量。换句话说,is_in_stock数据成员可以控制商店如何显示产品,而不管您手边有多少物品。

+0

感谢您的回答。但我觉得奇怪的是,似乎有一些代码会在例如某个订单被取消('Mage_CatalogInventory_Model_Stock-> backItemQty')时重新设置一个项目。所以一个小商人会将'is_in_stock'设置为false,然后取消一个订单(包含产品)并且'is_in_stock'又是真的? –

+0

是的,这是一个执行不力的功能,很明显,多个团队的工作不会彼此交谈。 –

0

您可能要挖过来:应用程序/代码/核心/法师/ CatalogInventory /型号/库存/ Item.php

可能相关的帖子: Magento issue with calling isInStock() method on a product

+0

感谢您的提示。相关帖子也是一个奇怪的事情,但不是我在这里说的问题:-) –

+0

Np,我对这个区别感兴趣,如果你找到了正确的答案,请在这里发帖,如果可以的话。 – B00MER

0

完全需要在这里对我的答案进行如此多的道歉。当我看着功能,因为它是在应用程序/代码/核心/法师/目录/型号定义/ Product.php我看到这个非常奇怪的情况:

public function isInStock() 
{ 
    return $this->getStatus() == Mage_Catalog_Model_Product_Status::STATUS_ENABLED; 
} 

所以只要产品被启用,isInStock将永远回报真实。告知产品是否出售的功能是isSaleable()。

+0

这是正确的,但不是我在这里提到的问题。我的意思是StockItem的'is_in_stock'属性,而不是产品的属性。 –

+0

对不起,我专注于功能而不是属性。 您上面提到的手动设置“缺货”的示例,然后让订单取消时系统将其重新设置为“库存”,只有当该网站的“管理库存”配置设置为“是”时才会发生这种情况。这也可以在管理员的产品级别上被覆盖。我们这样做是因为我们希望对一些产品进行库存控制,而不是出售其他产品,而我们永远不会出售,而库存则不太受关注。 –