【问题标题】:catalog price rules disappear after mid night in magento site目录价格规则在 magento 网站午夜后消失
【发布时间】:2015-05-14 11:58:08
【问题描述】:

我们在 1.9.0 中的目录价格规则存在问题

我们在一个网站上有大约 1000 种产品。

我们应用目录价格规则为 500 种产品提供折扣。

我没有给出目录价格规则的任何日期限制

这些特价只显示到午夜。

第二天,午夜过后,网站上不显示特价。

cron 工作正常。

请帮我找到解决办法。

【问题讨论】:

标签: magento cron


【解决方案1】:

来源:Magento catalog price rule disappears at night

归功于天才“Alexei Yerofeyev”。大多数情况下,我永远不会忘记这个人。

是的,这是 Magento 中的一个错误(或一些超出我理解的逻辑)。当 Magento 在前端显示产品时,它会检查该日期是否有目录规则。用于此检查的日期是您当地的日期,因此在您的情况下为 GMT+5。但是,在应用目录规则时,它使用 GMT 日期。这意味着您在凌晨 5 点之前无法应用规则。

问题出在 Mage_CatalogRule_Model_Action_Index_Refresh::execute() 函数中。您必须在您的扩展程序中或通过文件的本地版本重写此函数/类。

您必须在此处替换第 121 行:app/code/core/Mage/CatalogRule/Model/Action/Index/Refresh.php

$timestamp = $coreDate->gmtTimestamp('Today');

用这一行:

$timestamp = Mage::app()->getLocale()->date(null, null, null, true)->get(Zend_Date::TIMESTAMP);

之后你应该可以应用规则了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-26
    • 1970-01-01
    • 2014-06-18
    • 1970-01-01
    • 1970-01-01
    • 2014-06-26
    相关资源
    最近更新 更多