0

如果订单的状态/状态为“正在处理”,我正在尝试对订单执行一些操作(不确定我是否应该使用statusstate在这里.. 对此的任何帮助也会很棒)。

->getStatus()在模型上运行 asales/order告诉我我正在寻找的值是“处理”,但我不想将它与字符串文字进行比较。我想将它与 Magento 定义的值进行比较,所以我想知道它是如何确定这个值“处理”的,我该怎么做呢?

这是一些代码..

$order = Mage::getModel('sales/order')->loadByIncrementId($orderID);
if($order->getStatus() == "processing") {
  //do stuff
}

我想改成"processing"类似Mage::getModel('sales/order')->STATUS_PROCESSING

我确信答案就在Mage_Sales_Model_Order::getStatus()方法的某个地方,但我很难找到那个方法。我什至习惯于ReflectionClass查看方法并没有看到它!

4

1 回答 1

0

以下代码将脱离 Magento 状态代码:

$orders = Mage::getModel('sales/order')->getCollection()
    ->addFieldToFilter('status', 'Processing')
    ;

foreach ($orders as $order) {
    //do stuff
}

我希望这就是你要找的。

于 2013-08-12T18:23:26.337 回答