以编程方式创建发票时,设置自定义订单状态而不是默认

时间:2014-11-24 10:15:46

标签: magento

我有两个订单状态:已发货和订单已完成。两者都处于完成状态。在系统 - >订单状态中,我已将发货设置为"使用订单状态为默认"因为我想在管理员点击发货时将订单状态更改为"发货"自动。

现在的问题是我们有2种产品,一种是虚拟产品,一种是实体产品。所以我的想法是,当客户只购买虚拟产品时,它会显示"订单已完成"。

if ($order->canInvoice()) 
{
    $invoice = $order->prepareInvoice();
    $invoice ->register()->capture();
    Mage::getModel('core/resource_transaction')
                ->addObject($invoice)
                ->addObject($invoice->getOrder())
                ->save();
}

但是,当我以编程方式创建发票时,订单状态将为"已发货"而不是"订单已完成"。我尝试了以下代码:

$order->addStatusToHistory("order_completed", $orderMessage);

但它会将订单状态设置为"已发货"首先只改为"订单已完成"。

知道如何解决这个问题吗?

0 个答案:

没有答案