目录价格规则将不工作午夜后在magento网站



我们在1.9.0版本的目录价格规则上有问题

我们将1000产品上传到一个站点。

目录价格规则对500产品给予折扣后,目录价格规则没有日期限制。这些特惠价格只显示到午夜。

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

cron job工作正常

这个问题只解决了我:

问题出在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);

查看原文:https://magento.stackexchange.com/questions/67970/catalog-price-rules-disappear-after-mid-night

第一步:
请确保Cron工作正常。为此,您可以安装AOE Scheduler扩展。

第二步:
您需要通过调试magento表来调试这个问题。以下表用于编目规则:

catalogrule
catalogrule_affected_product
catalogrule_customer_group
catalogrule_group_website
catalogrule_product
catalogrule_product_price
catalogrule_website

您可以删除所有目录规则并为一个产品创建单个规则,并检查以下表:

catalogrule_product -在此表中,Magento将管理所有客户组的所有产品折扣百分比。
catalogrule_product_price -在此表中,Magento将管理每个产品的最终折扣价格。这里magento将为每个记录插入三天记录。您可以通过"rule_date"字段检查这一点。

如果它工作完美。再次删除所有目录规则后,请从MySQL中截断以下表。

catalogrule_product
catalogrule_product_price 

由于许多记录主键达到最大限制,并通过为500个产品创建规则再次尝试。希望它能开始工作。

希望这有帮助!!

正如@Davi-Reinoldo所述,问题出在索引器上。

我也有这个问题,当本地时区的偏移量大于+01:00时,这个问题就存在了。

基本上只是因为magento使用gmtTimestamp作为规则日期,在上面的例子中结果是前一天。

因此我开发了一个小模块https://github.com/Chuvisco88/Chuvisco_CatalogRuleFix来解决这个问题。如果有人遇到这个问题,请尝试一下。

最新更新