我想定义一些订单状态,例如“已收到信用卡付款”,问题是它们属于哪个状态。每个内置状态都有定义吗?
编辑:好像我混淆了“状态”和“状态”,我希望无论如何从上下文中弄清楚。我怪德国的Magento翻译(状态=>状态,状态=> Zustand)
我想定义一些订单状态,例如“已收到信用卡付款”,问题是它们属于哪个状态。每个内置状态都有定义吗?
编辑:好像我混淆了“状态”和“状态”,我希望无论如何从上下文中弄清楚。我怪德国的Magento翻译(状态=>状态,状态=> Zustand)
Answers:
根据《 Magento权威指南》[1],订单状态定义如下:
- 待处理订单:待处理订单是尚未处理的全新订单。通常,这些订单需要开票和运输。
- 待处理的PayPal:待处理的PayPal订单是尚未被PayPal清除的全新订单。[...]
- 处理:处理意味着订单已开具发票或已发货,但不是两者都已开具发票。
- 完成:标记为完成的订单已开票并已发货。
- 已取消:如果订单已取消或未付款,则应使用已取消的订单。
- 已关闭:已关闭订单是指已为其分配贷项凭证且客户已退款的订单。
- 暂停:在继续执行任何进一步操作之前,必须先取消已暂停的订单。
因此,状态“已收到信用卡付款”将属于 processing
,前提是该订单尚未发货。
Aligent Consulting [2]为订单状态创建了流程图:
- Adam McCombs和Robert Banh:“ Magento权威指南”,Apress,2009年(ISBN 1430272287,9781430272281)
- https://twitter.com/aligent/status/509487359172177921/photo/1
在Mage_Sales_Model_Order中定义了不同的订单状态:
const STATE_NEW = 'new';
const STATE_PENDING_PAYMENT = 'pending_payment';
const STATE_PROCESSING = 'processing';
const STATE_COMPLETE = 'complete';
const STATE_CLOSED = 'closed';
const STATE_CANCELED = 'canceled';
const STATE_HOLDED = 'holded';
const STATE_PAYMENT_REVIEW = 'payment_review';
实际上,由于可以在管理部分中定义1.5个订单状态,因此xml不是添加/更改状态或状态的首选方式。请在状态和状态之间进行区分。状态为“处理中”状态为“已收到信用卡付款”
更新:订单状态可以在admin / sales_order_status /中创建和修改,而无需使用XML进行任何操作只有在订单处于适当状态时才可以分配状态。默认情况下,开发票或发货时订单会进入处理状态。
您可以将新状态连接到现有订单状态,也可以创建全新的状态。只需使用新状态,按如下所示修改销售模块的配置文件(app \ code \ core \ Mage \ Sales \ etc \ config.xml):
<?xml version="1.0"?>
<config>
<!-- ... -->
<global>
<sales>
<order>
<statuses>
<new_status>
<label>New Status</label>
<description>Your Description here</description>
</new_status>
</statuses>
<states>
<new>
<label>New</label>
<statuses>
<new_status/>
</statuses>
<visible_on_front/>
</new>
</states>
</order>
</sales>
</global>
</config>
刷新缓存,完成。