Magento - 以编程方式添加的捆绑产品不适用于购物篮/前端
Posted
技术标签:
【中文标题】Magento - 以编程方式添加的捆绑产品不适用于购物篮/前端【英文标题】:Magento - Programatically added bundle product isn't available for the basket/frontend 【发布时间】:2012-05-18 09:58:14 【问题描述】:我遵循了这个很好的答案:Magento - Programatically added bundle product isn't showing up in frontend
我能够即时生成捆绑产品。一切正常。
只有一个问题:我的捆绑产品已正确保存,我可以通过管理区域看到它。但是,在这一代运行之后,我必须直接将此产品添加到篮子中。系统返回“未找到产品”。基本上,我必须进入管理区域,只需将其保存,然后我就可以将其添加到购物篮中。
我真的怀疑索引器有问题,但我真的不知道发生了什么。
我尝试了很多解决方案,例如:
Mage::getSingleton('index/indexer')->processEntityAction(
$product,
Mage_Catalog_Model_Product::ENTITY,
Mage_Index_Model_Event::TYPE_SAVE
);
但它仍然不起作用。 关于我应该在 save 方法之后触发哪个代码来索引仅这个新添加的捆绑产品的任何想法。
提前谢谢你。
【问题讨论】:
生成产品后,是否有任何索引在管理上标记为无效? 听起来您没有将产品保存到商店/网站视图中。通过管理员重新保存产品将更新此属性。我们可以看到您用于创建产品的代码吗? 【参考方案1】:听起来您并没有用您的产品创建库存商品。因此没有库存,您不能将其添加到您的购物篮?
看看
/app/code/core/Mage/Adminhtml/controllers/Catalog/ProductController.php:672
/app/code/core/Mage/Adminhtml/controllers/Catalog/ProductController.php:571
生成产品并使用默认数据清理/设置库存数据的位置
【讨论】:
以上是关于Magento - 以编程方式添加的捆绑产品不适用于购物篮/前端的主要内容,如果未能解决你的问题,请参考以下文章
Magento - 如何以编程方式取消选中超级产品属性上的“使用默认值”?