Magento引用项目修改sku

时间:2013-11-28 14:37:20

标签: magento

我需要在quoteitems上更改SKU,我这样做:

foreach($items as $item){
    $item->setSku($newSku);
    $item->save();
}

但是magento总是将SKU重置为原始值。是否有一些简单的方法来改变它,比如超级价格?或者如果没有,那么我在哪里可以找到重写的方法,以便他们忽略我的自定义SKU? 尝试寻找它,但即使我删除了cart init并从索引操作中保存,它们仍然会在某处重置。

我需要它在Magento 1.7-1.8

中工作

2 个答案:

答案 0 :(得分:0)

好的,所以我不想等待并找到它。

您可以在 Mage_Sales_Model_Quote_Item 中找到它,并在函数 setProduct 中找到它。每次显示购物车时都会运行此功能,它会将数据从“产品”重置为“项目”。

现在不确定我的数据是否会通过整个结帐流程,如果没有,则会更新答案。

修改

这只解决了购物车,还需要找到订单功能。我得到它时会更新。

修改

最后,我不建议你这样做。但是如果你需要它,那么这样做的方法是在事件sales_order_save_after上创建观察并修改订单项的sku。这似乎适用于所有地方,只有在结帐后它不起作用的电子邮件,你必须修改电子邮件。我也只在可配置的产品上使用它。

答案 1 :(得分:0)

我使用sales_quote_collect_totals_after

对我的项目做同样的事情

只需根据需要使用此活动更改报价项目SKU。