magento v1.9 目录价格规则有时不起作用
magento v1.9 catalog price rules doesn't work some times
我们使用的是 Magento 版本 1.9.2.3。我们有一个基于用户组和产品自定义属性的购物车价格规则设置。它有时不起作用。而且我不确定原因是否如此。我无法真正重现该问题,因为它时断时续。
用户抱怨它没有得到折扣,我可以从他们的订单中验证它,但如果我手动为特定用户添加相同的订单,那么我会看到折扣。
有没有人遇到过这个问题。非常感谢您对此的帮助
谢谢。
目录价格规则需要 Cron 作业。安装此 extension 并检查 cron 是否正常工作。
如果正常,请检查您的默认商店时区是否与您的服务器时区匹配。
学分:@Alexei Yerofeyev
如果两个时间相同,那么是的,这是 Magento 中的一个错误(或者一些超出我理解的逻辑)。我们有同样的问题。当 Magento 在前端显示产品时,它会检查是否有该日期的目录规则。用于此检查的日期是您当地的日期,因此在我们的例子中是 GMT+5。但是,在应用目录规则时,它使用 GMT 日期。这意味着我们要到凌晨 5 点才能应用规则。
问题出在 Mage_CatalogRule_Model_Action_Index_Refresh::execute() 函数中。您将不得不在您的扩展中或通过文件的本地版本重写此 function/class。
我们替换了第 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 * * *
,它可能对您有用。
如果可能,请检查未应用折扣的订单时间,您可能需要找出价格规则不起作用的确切时间。临时修复是在它不起作用时再次单击 "Apply catalog rules " 按钮。
在一家商店中,我们遇到了这个问题,有时目录价格规则不起作用,但大多数时候它运作良好(即使是同一天或同一小时内的同一产品!)。很难重现,因为分类规则价格是正确的(数据库 table 填充了正确的日期和产品 ID 以及正确的价格)。
我们已经使用了额外的扩展来确保每天都应用规则并且仍然面临问题...
但几周后我们发现了一个模式:事实证明只有通过 backend/admin 下订单时才会发生这种情况。 Magento 中有一个鲜为人知的错误,在此博客中有很好的描述:
http://www.techytalk.info/catalog-price-rules-not-applied-creating-order-magento-admin/
希望对大家有所帮助!
我们使用的是 Magento 版本 1.9.2.3。我们有一个基于用户组和产品自定义属性的购物车价格规则设置。它有时不起作用。而且我不确定原因是否如此。我无法真正重现该问题,因为它时断时续。
用户抱怨它没有得到折扣,我可以从他们的订单中验证它,但如果我手动为特定用户添加相同的订单,那么我会看到折扣。
有没有人遇到过这个问题。非常感谢您对此的帮助
谢谢。
目录价格规则需要 Cron 作业。安装此 extension 并检查 cron 是否正常工作。 如果正常,请检查您的默认商店时区是否与您的服务器时区匹配。
学分:@Alexei Yerofeyev
如果两个时间相同,那么是的,这是 Magento 中的一个错误(或者一些超出我理解的逻辑)。我们有同样的问题。当 Magento 在前端显示产品时,它会检查是否有该日期的目录规则。用于此检查的日期是您当地的日期,因此在我们的例子中是 GMT+5。但是,在应用目录规则时,它使用 GMT 日期。这意味着我们要到凌晨 5 点才能应用规则。
问题出在 Mage_CatalogRule_Model_Action_Index_Refresh::execute() 函数中。您将不得不在您的扩展中或通过文件的本地版本重写此 function/class。
我们替换了第 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 * * *
,它可能对您有用。
如果可能,请检查未应用折扣的订单时间,您可能需要找出价格规则不起作用的确切时间。临时修复是在它不起作用时再次单击 "Apply catalog rules " 按钮。
在一家商店中,我们遇到了这个问题,有时目录价格规则不起作用,但大多数时候它运作良好(即使是同一天或同一小时内的同一产品!)。很难重现,因为分类规则价格是正确的(数据库 table 填充了正确的日期和产品 ID 以及正确的价格)。
我们已经使用了额外的扩展来确保每天都应用规则并且仍然面临问题...
但几周后我们发现了一个模式:事实证明只有通过 backend/admin 下订单时才会发生这种情况。 Magento 中有一个鲜为人知的错误,在此博客中有很好的描述:
http://www.techytalk.info/catalog-price-rules-not-applied-creating-order-magento-admin/
希望对大家有所帮助!