我遇到了让Magento商店应用目录价格规则的问题。我的数据库是拥有200000个产品的huze,我正在尝试对商店中的大多数产品应用全球折扣。
我们已经设定了价格规则,但是当不能应用它时,它只是旋转,旋转和挂起,而不应用任何价格。我尝试使用下面给出的一些自定义代码来完成它:
我遵循的步骤如下:
我创建了一个名为rule apply的文件和下面的代码:
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
set_time_limit(0);
ini_set("memory_limit","1024M");
// Let's include mage.php file
require_once 'app/Mage.php';
umask(0);
// Initialize the magento
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);
}
?>
我已经使用ssh运行此文件但超过8小时后显示错误:已损坏的管道。
请建议我如何做到这一点。
由于
答案 0 :(得分:0)
如果您想应用特定规则而不是cna,请执行以下操作:
<?php
$catalogPriceRule = Mage::getModel('catalogrule/rule')->load(7);
$catalogPriceRule->applyAll();
?>
或者,如果你想要比你在下面所做的那样适用规则:
<?php
$catalogPriceRuleCollection = Mage::getModel('catalogrule/rule')->getCollection();
foreach($catalogPriceRuleCollection as $ruleobj)
{
$ruleobj->applyAll();
}
?>