我需要帮助来完成我目前正在开发的自定义 Magento 扩展。Magento 允许商家捆绑“简单”产品,不幸的是它不能捆绑“捆绑”产品。例如,我有一家卖电脑零件的商店。我创建每个单独的可销售产品,这些产品被视为“简单”产品。接下来,我想将键盘和鼠标捆绑在一起,我可以使用 Magento 轻松做到这一点,方法是创建一个名为“BUNDLE PRODUCT”的新产品类型,并将产品与这个新创建的“BUNDLE PRODUCT”相关联。但是,如果我想将捆绑产品与另一个捆绑产品相关联,那么开箱即用是不可能的。
因此,我创建了自己的扩展,允许我将捆绑的产品与另一个捆绑相关联,这在后端(产品管理工具)中运行良好。但是,我遇到了捆绑产品出现在前端(产品详细信息页面)上的问题。 编辑: 通常,当您查看任何产品的详细信息(无论是简单的还是捆绑的)时,您会看到整个产品的详细信息(描述、名称、价格、添加到购物车按钮等)。在此产品详细信息页面上,描述区域下方会出现一个框,以显示与此产品关联的所有捆绑商品的列表。此列表仅在您将 SIMPLE 产品与捆绑包关联时出现。我能够将捆绑产品与“父”捆绑产品相关联,但是在产品详细信息页面上 - 它没有列出它们。它只是空白。我可以看到标题、描述、添加到购物车按钮——但是我看不到相关产品的列表。
谁能帮我解决这个问题或指出正确的方向?我要求一种解决方案,使捆绑商品(产品类型:捆绑产品)出现在捆绑产品下。
您可以执行以下操作来复制错误:
1) 编辑
/app/code/Mage/Bundle/etc/config.xml
在允许的选择类型下添加捆绑包,如下所示:
<allowed_selection_types>
<bundle/>
2) 编辑
/app/code/Mage/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle/Option/Search/Grid
并注释掉
-->addFilterByRequiredOptions()
在 _prepareCollection() 函数中。(当您注释掉它们时,请确保移动分号)
3) 编辑
/app/code/Mage/Bundle/Model/Product/Type.php
并使函数“isSalable()”为第一个“IF STATEMENT”返回 true。我这样做是因为出于某种原因,捆绑包中的捆绑包无法出售。它将返回“缺货”,所以我通过让该函数返回 TRUE 来克服这个问题。
最后在同一个文件上,通过注释掉修改 getSelectionsCollection()
->addFilterByRequiredOptions()
->setOptionIdsFilter($optionIds)
(当您注释掉它们时,请确保移动分号)
所以现在您应该能够将 BUNDLED 产品关联到另一个 BUNDLE 产品。当您查看包含捆绑产品的产品时,它不会列出捆绑产品。这是我需要帮助的地方。我只需要一些帮助从哪里开始寻找。
提前谢谢你!