-
16-10-2019 - |
题
在我的目录价格规则下,我们每天都有一个特殊的特价,适用于2类。我们遇到的问题是我们看到的页面顶部:
有一些规则已更改但未应用。请单击“应用规则”,以查看目录中的立即效果。
单击“应用”执行很长时间。我扩展了PHP的执行和Apache超时,因此没有返回500,但是,Apply按钮似乎根本没有功能。我真的希望我有更多有关此问题的信息,但是System.Log或exceptions.log中没有任何信息。
如果有人对可能导致此功能无限期悬挂的原因有任何了解,那将不胜感激。
解决方案
我们有相同的问题,我们使用PHP脚本将目录价格规则应用于以下PHP脚本(放置在Shell目录中):
<?php require_once '../Mage.php'; ini_set('display_errors', 1);
#Varien_Profiler::enable();
Mage::setIsDeveloperMode(true);
umask(0); Mage::app('default');
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
try {
Mage::getModel('catalogrule/rule')->applyAll();
Mage::app()->removeCache('catalog_rules_dirty');
echo Mage::helper('catalogrule')->__('The rules have been applied.');
} catch (Exception $e) {
echo Mage::helper('catalogrule')->__('Unable to apply rules.');
print_r($e);
}
只需使用php nameofscript.php运行它,并且将应用规则。
其他提示
只是添加它,因为这是我刚遇到的东西。
商店有大量的SKU和目录价格规则。规则没有被应用,在调试克朗和其他过去的问题之后,我看了看一看 catalogrule_product_price
桌子看看那里有什么。我看到一个条目:
注意的值 rule_product_price_id
- 的确,一个的最大值 INT(10)
场地。重置您的自动收入,您应该很好。
我通过确保数据库用户有特权在Magento数据库中创建表格,从而找到了解决方案。
应用价格规则似乎创建了一些临时表,我的数据库用户不允许使用这些临时表。
设置位于app/etc/local.xml中
希望这节省某人的一天:)
-mpu