Magento - 无法应用目录价格规则

时间:2014-05-09 08:23:48

标签: magento

我们在获取Magento商店以应用目录价格规则时遇到了一些问题。这是一个相当大的商店(2个商店前面,30000个产品),我们正试图对商店中的大多数产品应用全球折扣。

我们可以设置价格规则,但是当我们去申请它时,它只需旋转一个小时左右然后挂起,而不应用任何价格。

猜测是因为它试图将如此多的记录写入数据库并且它最终超时,但是我们在服务器和PHP级别设置的时间限制似乎并不重要,它永远不会完成。

我不知道我们是否有办法以不同方式做到这一点以提高效率?

2 个答案:

答案 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