如何在订单中检索购买的商品信息

时间:2011-08-02 09:32:31

标签: php magento

我想向已购买但尚未付款的客户发送每周提醒电子邮件。

使用此脚本我可以显示订单:

<?php
//from http://www.exploremagento.com/magento/run-magento-code-outside-of-magento.php
require_once '../app/Mage.php';
umask(0);
Mage::app('default'); 

$orders = Mage::getModel('sales/order')->getCollection()
        ->setOrder('increment_id','DESC')
        ->setPageSize(1)
        ->setCurPage(1);
$LastOrderNr = $orders->getFirstItem()->getIncrementId() - 100000000;  


$LastOrderNr=494;  
$order = Mage::getModel('sales/order')->load($LastOrderNr); //put a valid order entity_id there;
print_r($order->debug());  
echo "<br/>******************************<br/>"; 

?>

我可以检索几个有用的信息块(即客户的电子邮件地址,总金额),但不会显示他们购买的商品。我如何/在何处检索此类信息?

2 个答案:

答案 0 :(得分:3)

在Magento订购的产品称为“订单商品”。您可以获得以下订单商品数据:

`

// 1. get order. you can load it by order entity id (f.e. 494)
$order = Mage::getModel('sales/order')->load($orderId);
// or by order increment id (100000494)
$order = Mage::getModel('sales/order')->loadByIncrementId($incrementId);

// 2. get order items collection
foreach ($order->getItemsCollection() as $item) {
    Zend_Debug::dump($item->getData());
}

`

答案 1 :(得分:0)

获得最后一个订单可能要容易得多,特别是成功站点

需要
$order = Mage::getModel('sales/order')->load(Mage::getModel('sales/order')->getCollection()->getLastItem()->getEntityId());

示例:最后订单成本

$grand_total = Mage::getModel('sales/order')->load(Mage::getModel('sales/order')->getCollection()->getLastItem()->getEntityId())->getGrandTotal();