Magento订单创建sales_flat_quote_item没有制作

时间:2012-07-18 10:15:31

标签: php zend-framework magento

我有一个模块从另一个站点获取一个源,然后将订单导入magento。问题在于,尽管订单在Magento中正确创建并且没有出现在产品订购报告中。

原因似乎是此报告查看sales_flat_quote_item表以生成其结果,但我的销售商品没有条目。但它们确实在sales_flat _order_item中正确显示。

以下是代码的缩短版本。

有关为什么我没有在flat_quote_item中输入条目的任何建议?

为什么Ordered Products报告使用的Magento模型使用报价表而不是订单表?

$quote = Mage::getModel('sales/quote')->setStoreId((string) $dataArray->StoreviewId);

if (is_object($product)) {

                $product->setPrice(((string) $orderitem->Price) / $reverseRate);

                $item = Mage::getModel('sales/quote_item');
                $item->setQuote($quote)->setProduct($product);
                $item->setData('qty', (string) $orderitem->Quantity);
                $item->setCustomPrice((string) $orderitem->Price);
                $item->setOriginalCustomPrice((string) $orderitem->Price);

                $quote->addItem($item);
            }

2 个答案:

答案 0 :(得分:3)

此代码未显示对$item->save$quote->save的任何调用,因此可能是您未保存quote对象。

答案 1 :(得分:2)

  

为什么Ordered Products报告使用的Magento模型使用报价表而不是订单表?

因为您可以订购,但未付款或被取消,因此产品未送达。您仍然在系统中有订单,它只是没有执行。 我的猜测是,特定报告应该只包含成功订单,产品已发货或至少发送了报价。

  

有关为什么我没有在flat_quote_item中输入条目的任何建议?

您需要生成报价,这不是在保存订单时自动完成的。

请参阅以下论坛主题以获取有关如何生成引用的提示:http://www.magentocommerce.com/boards/viewthread/28426/P30/