php - Magento 订单状态与状态

标签 php magento status

我在弄清楚 Magento 中订单的“状态”与“状态”之间的区别时玩得很开心。

我们设置了一个自定义流程来将订单发送到第 3 方履行,我们还有一些自定义逻辑来检查潜在的欺诈性订单并将它们标记为由管理员用户手动批准发货以进行履行。

我在我的模块配置中添加了“待发货”状态和“可以发货”状态,如下所示:

<global>
    ...
    <sales>
        <order>
            <statuses>
                <pending_shipment translate="label"><label>Pending Shipment</label></pending_shipment>
                <ok_to_ship translate="label"><label>OK To Ship</label></ok_to_ship>
            </statuses>
            <states>
                <processing translate="label">
                    <statuses>
                        <pending_shipment />
                    </statuses>
                </processing>
                <payment_review translate="label">
                    <statuses>
                        <ok_to_ship />
                    </statuses>
                </payment_review>
            </states>
        </order>
    </sales>
    ...
</global>

...我对所有这些都使用内置的“涉嫌欺诈”状态。问题是“涉嫌欺诈”状态被分组在“付款审查”状态下,如果订单被标记为“涉嫌欺诈”或“付款审查”,管理员不允许您选择任何其他状态那些 2. 理想情况下,“OK To Ship”选项可用,但分组在“处理中”的“状态”下。 在这里,我在“payment_review”状态下有“OK To Ship”,它使该选项可用,但是当我拉下订单并检查 canShip() 时——它失败了,因为它是“付款审查”状态。

因此,如果有人可以帮助我了解状态/状态在 Magento 中的工作方式以及如何最好地配置这种情况,我将不胜感激。

最佳答案

只是要指出,由于 Magento 允许从管理界面(我相信是 1.5 版本)编辑状态,XML 状态配置已被弃用。现在唯一相关的配置在 sales_order_status 和 sales_order_status 状态表中。

如果你想添加新的,只需通过 phpmyadmin 编辑表格(你也可以通过安装程序脚本 http://www.techytalk.info/programmatically-add-new-order-state-and-status-in-magento/ 编程)

关于php - Magento 订单状态与状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4170628/

相关文章:

c++ - 如何获取进程状态(正在运行、已终止)事件?

javascript - php - 将 mysql 信息从 php 传递到下一页

php - mysql 按列名响应

javascript - 可以在 AJAX 请求中将 PHP 变量传递给 Javascript 函数吗?

magento - Magento 1.7.2通过SSH的安全补丁错误

ios - 为什么在 iOS 9 和 10 上无法调用 AVPlayer 的 'status' 属性上的 KVO

java - 获取 'Mobile network' 的状态,wifi 断开后自动连接 3g 的状态

php - 如何找到 mySQL 行之间的相似性?

php - Magento:当我尝试在主页上显示最畅销的产品时,$this->getAddToCartUrl($product) 不起作用

Magento 不会在 'save' 上保存值(value)