我在 Magento 中编写了一个自定义模块,它在 sales_flat_quote_item_option 表中添加了一行。我使用 addOption 方法和一个数组作为 quote_item 对象的参数。然后我运行 $quoteItem->save();
使用 Magento 1.4 版,一切都像魅力一样工作。我试图将 Magento 升级到 1.7 版本,但我的模块似乎不再工作了。
在尝试调试之后,我认为 sales_flat_quote_item_option 中的插入查询根本没有启动(根据查询日志文件)。
所以我写了一个简单的查询来插入数据,我的模块现在正在工作。
也许有人已经面临这种问题?我需要尽可能干净。
让我分享失败的代码:
public function assignDocumentToQuoteItem(Mage_Sales_Model_Quote_Item $quoteItem, $documentid)
{
if(is_numeric($documentid) && $documentid > 0)
{
/** @var Mage_Catalog_Model_Product */
$product = $quoteItem->getProduct();
$quoteItem->addOption(array(
'product_id' => $product->getId(),
'product' => $product,
'code' => 'documentid',
'value' => $documentid));
$quoteItem->save();
return true;
}
throw new Exception(__METHOD__.' - Document id has to be a numeric value.');
}
Magento 1.4 可以正常工作,但 1.7 不行,这里有什么想法吗?
非常感谢 !