Я пытаюсь создать правило цены каталога программно (процентная скидка на категорию для конкретной группы клиентов). Но это не применяется программно. Даже если вы перейдете в раздел «Правила цены каталога» и нажмете кнопку «Применить правила» - он не применяется. Это применимо, только если вы перейдете к редактированию этого правила в бэкэнде, сохраните его без каких-либо изменений, а затем нажмите «Применить правила».
Вот код:
$catalogRule = Mage::getModel('catalogrule/rule');
$catalogRule->setName($ruleName)
->setIsActive(true)
->setWebsiteIds(array(1))
->setCustomerGroupIds(array($group->getId()))
->setSimpleAction('by_percent')
->setDiscountAmount($discountAmount);
$categoryCondition = Mage::getModel('catalogrule/rule_condition_combine')
->setType('catalogrule/rule_condition_product')
->setAttribute('category_ids')
->setOperator('==')
->setValue($categoryId);
$catalogRule->getConditions()->addCondition($categoryCondition);
$catalogRule->save();
$catalogRule->applyAll();
Mage::app()->removeCache('catalog_rules_dirty');
Спасибо за помощь!