我们在获取Magento商店以应用目录价格规则时遇到了一些问题。这是一个相当大的商店(2个商店前面,30000个产品),我们正试图对商店中的大多数产品应用全球折扣。
我们可以设置价格规则,但是当我们去申请它时,它只需旋转一个小时左右然后挂起,而不应用任何价格。
猜测是因为它试图将如此多的记录写入数据库并且它最终超时,但是我们在服务器和PHP级别设置的时间限制似乎并不重要,它永远不会完成。
我不知道我们是否有办法以不同方式做到这一点以提高效率?
答案 0 :(得分:3)
以下是保存目录价格规则的时候申请大型目录的方法。
我创建了一个脚本来应用目录规则,使用命令行运行。并且还创建了一个cron作业来运行这个脚本过夜。
只需在magento的根目录下创建一个php文件,并将其放在此文件的代码下面
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);
}
使用命令行运行或为此脚本创建cron作业。这将应用您的所有目录规则
答案 1 :(得分:0)
我找到了一个解决方案,确保数据库用户有权在magento数据库中创建表。
应用价格规则似乎会创建一些临时表,我的数据库用户不允许这样做。
设置位于app/etc/local.xml
希望这能节省一些人的日子:)
-MPu