Magento订单,小计和总计为0

Magento订单,小计和总计为0,magento,magento-1.7,magento-1.8,Magento,Magento 1.7,Magento 1.8,我观察到订单小计和总计为0,但其中包含产品的奇怪情况。产品行有价格,没有使用促销规则或折扣。这种情况偶尔发生,而且不仅仅发生在一个站点上。Magento的版本是1.7.0.2。也没有安装其他扩展。system.log和exception.log不包含可能与此问题有关的错误跟踪 起初我认为这可能是因为服务器过载。我认为这可能与此有关,但最后的“0”-小计顺序发生在服务器根本没有加载时 有什么想法吗?谢谢 只需检查配置->高级->高级->禁用模块输出 是否启用Mage_Tax选项。零小计结帐 用这个

我观察到订单小计和总计为0,但其中包含产品的奇怪情况。产品行有价格,没有使用促销规则或折扣。这种情况偶尔发生,而且不仅仅发生在一个站点上。Magento的版本是1.7.0.2。也没有安装其他扩展。system.log和exception.log不包含可能与此问题有关的错误跟踪

起初我认为这可能是因为服务器过载。我认为这可能与此有关,但最后的“0”-小计顺序发生在服务器根本没有加载时


有什么想法吗?谢谢

只需检查配置->高级->高级->禁用模块输出
是否启用Mage_Tax选项。

零小计结帐

用这个

系统>配置>付款方式>零小计结账


我也有同样的问题。我在这里做了一些研究。 我使用了iwdonepagecheckout模块。问题就在这个模块里面

让我们考虑一下形势。您正在adminpanel中执行smth,或者cron正在执行此产品的某些任务,或者您可以应用一些目录规则。在任何类型中,这些操作都将被称为事件目录产品状态更新目录产品保存

因此,每次您在产品中更改smth时,所有当前报价都将根据事件进行更新

好的,你会问我-这是什么意思

这意味着每个报价都会更改sales\u flat\u quote表中的trigger\u Reclect字段。 你可以在这里找到它 app/code/core/Mage/Sales/Model/Resource/Quote.php:[markQuotesRecollectOnCatalogRules和markQuotesRecollect方法]以获取更多详细信息

trigger\u reclect字段是一个触发器/信号,用于重新收集整个报价总额。你可以在这里找到这个步骤 app/code/Mage/Sales/Model/Quote.php:_afterLoad


准确的说,现在所有的报价总额都变成了0。下面的步骤是获取地址集合,由于某些原因,我们现在没有将产品项添加到地址对象中。Magento记不起这里的正确答案了。但是,只有当您或系统对产品进行smth,同时客户按下“发送订单”按钮时,才会发生这种情况。为什么——我还不知道。问题已经发生并被抓住了。

我和你们有过同样的问题,这真的很烦人,因为我无法重现它,也找不到合适的解决方案。 我开始相信这只是另一个Magento bug,它是由数据库操作中的一些错误时间造成的

安东尼的帖子真的帮助了我,引导我找到了一个切实可行的解决办法

就是这样。 实际上,该错误是由markQuotesRecollect中设置的触发器重新收集标志(例如,在保存产品时)引起的,并导致 所有活动报价,以收回其总数

我花了很多时间调试IWD OnepageCheckout代码,以了解在Geo.php中,saveBilling函数通过克隆创建新的发货地址 账单地址(在发货与账单相同的情况下)并将(几乎)所有数据从账单地址传递到发货地址,然后保存(通过父报价保存)。 这样就可以设置缓存的_items*数据,并且当Geo.php保存付款时,即使您有意将quote设置为重新收集总计(即将collected flag设置为false),也可以设置发货总计 计算不正确

最后,我不得不在saveBilling方法中的一行代码后面添加以下代码:

    $ship->addData($bill->getData());)

    $ship->setSameAsBilling(1)->setShippingMethod($ship_method)->setCollectShippingRates(true);
    $ship->unsetData('cached_items_nominal');
    $ship->unsetData('cached_items_nonnominal');
    $ship->unsetData('cached_items_all');
到目前为止(10天后,大约1000份订单)没有随机的零总订单

希望这对大家都有帮助

问候


Lefteris

Mage_Tax处于活动状态,即未禁用。但我不明白这和问题有什么关系?如果你禁用它,小计和总计都不会被计算出来。这又发生了两次。我真的搞不懂。我遇到了同样的问题。有线索吗?我还没有任何解决办法。这个问题仍然存在,而且偶尔会发生。这可能是安装模块获得奖励积分或某种内部信用的副作用。我会搜索本地或社区代码池中是否有模块影响总数。例如,我会对“setGrandTotal”进行文件搜索。你解决了这个问题吗?这与我的问题完全无关。这听起来是合法的。我正在使用相同的模块。你找到解决办法了吗?你为什么认为问题出在模块里。这不是一个全球性的问题吗?我想原因在模块中。让我们在saveOrder操作上比较IWD_OnepageCheckout_IndexController和Mage_Checkout_OnepageController。Mage_Checkout_OnepageController在此步骤上没有保存付款数据,而IWD_OnepageCheckout_IndexController没有保存付款数据。有关详细信息,请参阅IWD\u OnepageCheckout\u IndexController中的\u saveOrderPurchase方法。此错误发生在此步骤上。例如,当产品在管理面板中发生更改时,IWD checkout正在初始化quote Reclect。如果我在这里错了,请纠正我。我的解决方案是在这里进行hack)-我只是忽略recolect,以防在saveOrder操作下调用它。不是很好的解决方案,但很有效)它对您有帮助吗?
    $ship->addData($bill->getData());)

    $ship->setSameAsBilling(1)->setShippingMethod($ship_method)->setCollectShippingRates(true);
    $ship->unsetData('cached_items_nominal');
    $ship->unsetData('cached_items_nonnominal');
    $ship->unsetData('cached_items_all');