使用 magento is_in_stock

Posted

技术标签:

【中文标题】使用 magento is_in_stock【英文标题】:Use of magento is_in_stock 【发布时间】:2011-12-20 11:17:15 【问题描述】:

Magento 中is_in_stock 属性的功能究竟是什么?一个产品是否有库存可以通过qty >= 1来判断。

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

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

【问题讨论】:

【参考方案1】:

许多较小的商家将使用 Magento 来监控其实际“仓库”(备用房间)的产品库存水平。有时他们可能希望在他们的网上商店中暂时将某个商品列为缺货,但出于其他业务原因,他们会希望 Magento 中的库存编号反映他们手头上的商品数量。

换句话说,is_in_stock 数据成员控制商店如何展示产品,无论您手头有多少商品。

【讨论】:

感谢您的回答。不过,我对此感到奇怪的是,当订单被取消时(Mage_CatalogInventory_Model_Stock->backItemQty),似乎有代码可以将商品重新放入库存。那么小商家会将is_in_stock设置为false,然后取消订单(包含产品),is_in_stock再次为true? 是的,这是一个实施不佳的功能,显然是多个团队的工作,而不是相互交谈。【参考方案2】:

您可能想要挖掘:app/code/core/Mage/CatalogInventory/Model/Stock/Item.php

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

【讨论】:

感谢您的提示。相关帖子也是一件奇怪的事情,但不是我的意思:-) Np,我也对差异感兴趣,如果您找到正确的答案,请尽可能在此处发布。【参考方案3】:

在这里完全需要修改我的答案,非常抱歉。当我查看 app/code/core/mage/Catalog/Model/Product.php 中定义的函数时,我看到了这种非常奇怪的情况:

public function isInStock()

    return $this->getStatus() == Mage_Catalog_Model_Product_Status::STATUS_ENABLED;

因此,只要启用了产品,isInStock 将始终返回 true。判断产品是否在售的函数是 isSaleable()。

【讨论】:

这是正确的,但不是我在这里提到的问题。我指的是 StockItem 的 is_in_stock 属性,而不是 Product 的。 抱歉,我关注的是函数而不是属性。您在上面提到的手动设置“缺货”的示例,然后在取消订单时让系统将其转回“有货”,只有在网站将“管理库存”配置设置为“是”时才会发生。这也可以在管理员的产品级别被覆盖。我们这样做是因为我们希望对一些我们售罄的产品进行库存控制,但对我们从未售罄的其他产品不进行库存控制。

以上是关于使用 magento is_in_stock的主要内容,如果未能解决你的问题,请参考以下文章

magento -- 计划任务(cron job)在magento中的作用和使用教程

Magento开发文档:Magento入门

text [Magento:创建一个新的管理员用户]使用命令行#magento #php

Magento交易邮件常见问题

Magento 交易信件常见问题

php CLI php脚本使用直接访问magento集合将客户从magento导出到CSV。