在Magento中获取状态='完成'的订单ID

ivn*_*ivn 10 php magento orders

我正在努力获取Magento中status ='complete'的订单的订单ID和其他详细信息.我确信在magento中有一种方法可以检索状态为Complete的所有订单.由于我是magento的新人,我发现很难解决这个问题.

我希望向客户发送订单状态为完成电子邮件,并在发送电子邮件后标记.但这就是它的后半部分.任何人都可以告诉我如何在magento中获得状态为Complete的所有订单ID?

任何帮助表示赞赏.提前致谢.

Max*_*Max 22

这可以作为基本Magento安装文件夹中的脚本运行.如果它已经在Magento文件中运行(控制器或块或其他),则不需要前三行.

<?php
require_once('app/Mage.php');
Mage::app();

$orders = Mage::getModel('sales/order')->getCollection()
    ->addFieldToFilter('status', 'complete')
    ->addAttributeToSelect('customer_email')
    ;
foreach ($orders as $order) {
    $email = $order->getCustomerEmail();
    echo $email . "\n";
}
Run Code Online (Sandbox Code Playgroud)

编辑:

要查看包含状态和电子邮件的所有订单:

$orders = Mage::getModel('sales/order')->getCollection()
    //->addFieldToFilter('status', 'complete')
    ->addAttributeToSelect('customer_email')
    ->addAttributeToSelect('status')
    ;
foreach ($orders as $order) {
    $email = $order->getCustomerEmail();
    echo $order->getId() . ": '" . $order->getStatus() . "', " . $email . "\n";
}
Run Code Online (Sandbox Code Playgroud)