Magento订单,小计和总计0

时间:2014-01-07 14:46:04

标签: magento magento-1.7 magento-1.8

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

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

有什么想法吗?谢谢!

4 个答案:

答案 0 :(得分:3)

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

安东尼的帖子真的帮助了我,并指导我找到一个实用的解决方案。

所以在这里。 实际上,错误是由markQuotesRecollect中设置的触发器重新收集标志引起的(例如,当保存产品时)并导致 所有有效的报价都会重新收集它们的总数。

我不得不花费大量时间调试IWD OnepageCheckout代码,以了解Geo.php中的saveBilling函数通过克隆创建新的送货地址 账单地址(如果发货与账单相同)并将(几乎)所有数据从账单地址传递到后来保存的送货地址(通过父报价保存)。 这样设置cached_items_ *数据,并且当Geo.php保存付款时,即使您有意设置报价以重新收集总计(即通过将收集的标记设置为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

答案 1 :(得分:1)

我遇到了同样的问题。我在这里做了一些研究。 我使用了IWD onepagecheckout模块。问题出在这个模块中。

让我们考虑一下情况。你在adminpanel中做了什么,或者cron正在做这个产品的一些任务,或者你可以应用一些目录规则。在任何类型的这些操作中,都会将其称为事件 catalog_product_status_update catalog_product_save_after

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

好的,在这里你会问我 - 这意味着什么?

这意味着每个引号都会更改 sales_flat_quote 表中的字段 trigger_recollect 。 你可以在这里找到它 app / code / core / Mage / Sales / Model / Resource / Quote.php :: [markQuotesRecollectOnCatalogRules和markQuotesRecollect方法]以获取更多详细信息。

trigger_recollect 字段是一个触发/信号,用于重新收集整个报价总和。你可以在这里找到这一步 应用程序/代码/法师/销售/型号/ Quote.php :: _后负荷。

protected function _afterLoad()
{
        // collect totals and save me, if required
        if (1 == $this->getData('trigger_recollect')) {
            $this->collectTotals()->save();
        }
        return parent::_afterLoad();
}

此时准确的所有当前报价总和变为0.以下步骤是获取地址集合,由于某种原因,我们现在没有产品项目作为地址对象。 Magento无法在这里回忆正确。但它只会在您或系统使用产品进行smth时发生,同时客户按下按钮"发送订单"。为什么 - 我还不知道。这个问题已经发生并且被抓住了。

答案 2 :(得分:-1)

只需检入Configuration-> Advanced-> advanced->已禁用的模块输出 Mage_Tax选项是否启用。

答案 3 :(得分:-2)

零小计结帐

使用此

  

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

More info to go hear

enter image description here

enter image description here