Magento - 将产品添加到购物车时向订单项添加其他选项

Magento - Add additional options to line item when product is added to the cart

我正在尝试在将选项添加到购物车时将选项动态添加到购物车中。我已经在网上和其他问题上浏览了几个建议的解决方案,但无济于事。

到目前为止,我已经在我的模块 config.xml 中为事件设置了一个事件观察器:

catalog_product_save_after

并且该方法正确触发。所以我添加了这段代码来尝试为要添加到购物车的商品添加一些选项:

$item = $observer->getQuoteItem();
$myCustomData = array('test' => 'testing');
$item->addOption(array('code' => 'my_custom_data', 'value' => serialize($myCustomData)));  

然而这没有任何效果。

我希望有人能提供帮助,因为我一直在努力解决这个问题。理想情况下,这些选项还应该显示在前端的购物车行项目和网站的其他区域,例如订单发票、订单详细信息页面等。

与可配置产品一起使用的解决方案将是一个巨大的收获。

catalog_product_save_before 上设置事件观察器。

或者,在 cart_item 中重新加载您的产品 (Mage::getModel('catalog/product')->load($id);) 并在订单项中列出您的其他选项。

Magento 提供了添加非产品属性或产品自定义选项的选项的功能。它们设置在产品上,并使用选项代码 additional_options.

报价项目

您需要执行两个步骤,每个步骤都可以通过事件观察器处理。如果您希望附加选项通过重新排序,您还需要观察第三个事件。

查看此处了解更多详情... Magento - Add options to quote item