我们在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来解决这个问题。如果有人遇到这个问题,请尝试一下。