我需要在quoteitems上更改SKU,我这样做:
foreach($items as $item){
$item->setSku($newSku);
$item->save();
}
但是magento总是将SKU重置为原始值。是否有一些简单的方法来改变它,比如超级价格?或者如果没有,那么我在哪里可以找到重写的方法,以便他们忽略我的自定义SKU? 尝试寻找它,但即使我删除了cart init并从索引操作中保存,它们仍然会在某处重置。
我需要它在Magento 1.7-1.8
中工作答案 0 :(得分:0)
好的,所以我不想等待并找到它。
您可以在 Mage_Sales_Model_Quote_Item 中找到它,并在函数 setProduct 中找到它。每次显示购物车时都会运行此功能,它会将数据从“产品”重置为“项目”。
现在不确定我的数据是否会通过整个结帐流程,如果没有,则会更新答案。
修改强>
这只解决了购物车,还需要找到订单功能。我得到它时会更新。
修改强>
最后,我不建议你这样做。但是如果你需要它,那么这样做的方法是在事件sales_order_save_after上创建观察并修改订单项的sku。这似乎适用于所有地方,只有在结帐后它不起作用的电子邮件,你必须修改电子邮件。我也只在可配置的产品上使用它。
答案 1 :(得分:0)
我使用sales_quote_collect_totals_after
对我的项目做同样的事情只需根据需要使用此活动更改报价项目SKU。