如何在Magento API之外获取Quote数据?

时间:2014-10-08 14:19:06

标签: php magento

我正在尝试编写一个脚本来处理来自我的magento商店的所有订单。我可以获得运费,账单地址和客户的姓名,但现在我想要他们购买的物品清单,我认为这些物品将在"引用"对象

我正在尝试这2行获取引用对象,但我得到一个空数组。 请告诉我这段代码有什么问题。

$salesCollection = Mage::getModel("sales/order")->getCollection()->addAttributeToFilter('state', array('eq' => Mage_Sales_Model_Order::STATE_PROCESSING));
foreach($salesCollection as $order)
{
   $quote_id = $order->getQuoteId();
   $quote = Mage::getModel('sales/quote')->load($quote_id);
   print_r($quote->getData());
}

2 个答案:

答案 0 :(得分:1)

不,他们不在"引用"宾语。您可以使用此示例代码 -

$order_id = 1234; //use your own order id 
$order = Mage::getModel("sales/order")->load($order_id); 
$ordered_items = $order->getAllItems();

foreach($ordered_items as $item){     
    echo $item->getName();
}

现在在$ordered_items上使用foreach循环,您可以获取项目数据。

答案 1 :(得分:0)

要获得订单商品,您需要订购商品而不是引用

$salesCollection = Mage::getModel("sales/order")->getCollection()
           ->addAttributeToFilter('state', array('eq' => Mage_Sales_Model_Order::STATE_PROCESSING));

foreach($salesCollection as $order){
   $shipping = $order->getShippingAddress();
   .... 
   $items = $order->getAllVisibleItems();
   foreach($items as $item){
     echo $item->getProductId();
   }
}