php - magento bundle 产品显示缺货

标签 php magento bundle product inventory

我在 Magento 1.4.0.1 中创建了一个 bundle 产品。 bundle 的所有组件都有库存,但当 bundle 显示在前端时,却显示缺货? 如何让该产品显示“有货”?

在管理系统中,没有为 bundle 添加库存的选项,所以我猜库存水平是根据组件计算出来的(如果有的话?) - 也许使用组件的最低库存数量项目作为整个 bundle 库存水平的基础?

我真的不希望这种情况发生(如果是的话?)。 我只需要将 bundle 显示为有库存。 有人可以帮忙吗?

最佳答案

是的, bundle 的库存水平是根据 bundle 商品中所需的每个选项的选择来计算的。如果您想更改该行为,则需要重写 Mage_Bundle_Model_Product_Type 类中的 isSalable($product) 函数,以便它返回 true

您可以通过使用扩展 Mage_Bundle_Model_Product_Type 的模型创建自己的模块来实现此目的,并且在 config.xml 中您将需要:

<global>
    <models>
        <modulename>
            <class>Namespace_Modulename_Model</class>
        </modulename>
        <bundle>
            <rewrite>
                <product_type>Namespace_Modulename_Model_Product_Type</product_type>
            </rewrite>
        </bundle>
    </models>
....
</global>

显然,危险在于您销售的商品数量会超过您的库存供应量,因此这需要成为一个商业决策...

关于php - magento bundle 产品显示缺货,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4459348/

相关文章:

Symfony 4 包工作

OSX 应用程序包中的 Java swixml

php - 这段代码中定义的表单的 `submit()` 函数在哪里?

php - JavaScript 对象共享局部变量

php - Magento 系统配置 : What's the use of frontend_type for section and groups?

magento - Magento 模块验证器是否存在?

android - 尽管调用了 onSaveInstance(),但在 onCreateView() 中 bundle savedInstanceState 始终为 null

php - Inflector.php 第 265 行中的 FatalErrorException : syntax error, unexpected ':' expecting ';' or '{'

php - MySQL多对一关系

mysql - 如何使用 MySQL 命令在 magento 中取消合并 CSS 和 JS