magento v1.9 目录价格规则有时不起作用
-
29-09-2020 - |
题
我们使用 Magento 版本 1.9.2.3。我们根据用户组和产品的自定义属性设置购物车价格规则。有时它不起作用。我不确定原因是什么。我无法真正复制这个问题,因为它是断断续续的问题类型。
用户抱怨它没有获得折扣,我可以从他们的订单中验证它,但如果我手动为特定用户添加相同的订单,那么我会看到折扣。
有没有人遇到过这个问题。我将非常感谢您对此的帮助。
解决方案
目录价格规则 需要 Cron 作业。安装这个 扩大 并检查 cron 是否工作。如果它正常工作,请检查您的默认商店时区是否与您的服务器时区匹配。
学分: @阿列克谢·叶罗菲耶夫
如果两个时间相同,那么是的,这是 Magento 中的一个错误(或某些超出我理解的逻辑)。我们有同样的问题。当 Magento 在前端显示产品时,它会检查该日期是否有目录规则。此检查使用的日期是您当地的日期,因此在我们的例子中是 GMT+5。但是,当应用目录规则时,它使用 GMT 日期。这意味着我们直到凌晨 5 点才能应用规则。
问题在于 Mage_CatalogRule_Model_Action_Index_Refresh::execute() 功能。您必须在扩展中或通过文件的本地版本重写此函数/类。
我们替换了第 121 行:
$timestamp = $coreDate->gmtTimestamp('Today');
用这一行:
$timestamp = Mage::app()->getLocale()->date(null, null, null, true)->get(Zend_Date::TIMESTAMP);
之后它对我们有用。
如果这对你也不起作用,那么
使用AOE调度程序扩展,改变 catalogrule_apply_all
cron 表达式来自 0 1 * * *
到 30 */6 * * *
它可能对你有用。
如果可能,请检查未应用折扣的订单时间,您可能需要查找价格规则不起作用的确切时间。临时修复是在不起作用时再次单击“应用目录规则”按钮。
其他提示
我注意到的是目录价格规则要求Cron完美无瑕地工作。如果Cron有问题(未运行,崩溃,依此类推),那些规则会停止自动工作。这可能听起来像是一个奇怪的设计决定,但是当南方人通常更喜欢有规则停用的时候,而不是太晚了。
问题不是cron。问题是它正在为某个价格工作而不适合一些价格。我的意思是所有产品的折扣并不50%。特定的清关物品。
Check your cron - is it running properly? View cron_schedule database table for entries "catalogrule_apply_all" and see their status.
Try to apply manually catalog rule and check again.