我正在尝试在购物车商品添加到购物车时动态添加选项。我已经在网上和其他问题上找到了几个提议的解决方案,但无济于事。
到目前为止,我已在我的模块config.xml
中为该事件设置了一个事件观察者:
catalog_product_save_after
并且方法正确触发。所以我添加了这段代码,尝试为添加到购物车的商品添加一些选项:
$item = $observer->getQuoteItem();
$myCustomData = array('test' => 'testing');
$item->addOption(array('code' => 'my_custom_data', 'value' => serialize($myCustomData)));
但是这没有任何效果。
我希望有人可以提供帮助,因为我已经厌倦了试图解决这个问题。理想情况下,选项还应显示在前端的购物车行项目和网站的其他区域,如订单发票,订单详细信息页面等。
与可配置产品配合使用的解决方案将是一个巨大的好处。
答案 0 :(得分:0)
在catalog_product_save_before
上设置您的活动观察员。
或者,在cart_item
重新加载您的产品(Mage::getModel('catalog/product')->load($id);
)并在订单项中列出您的其他选项。
答案 1 :(得分:0)
Magento提供了添加非产品属性或产品自定义选项的选项的功能。它们在产品和报价项目上设置,选项代码为additional_options。
您需要采取两个步骤,每个步骤都可以通过事件观察者来处理。如果您希望其他选项进行重新排序,您还需要观察第三个事件。
点击此处了解更多详情...... Magento - Add options to quote item