1

我在 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 不行,这里有什么想法吗?

非常感谢 !

4

0 回答 0