1

当我们创建一些促销或购物车规则时,我想在代码中准确地解析和应用规则。

我知道它在这里:Mage_SalesRule_Model_Rule 但无法完全弄清楚。

-谢谢。

4

1 回答 1

0

好吧,你可以从Mage_SalesRule_Model_Validator类方法开始process
它处理每个购物车项目,并检查是否有任何购物车规则适用于它。很容易看到应用了哪些规则。
规则有validate方法。

/**
 * Validate rule conditions to determine if rule can run
 *
 * @param Varien_Object $object
 *
 * @return bool
 */
public function validate(Varien_Object $object)
{
    return $this->getConditions()->validate($object);
}

Mage_Rule_Model_Condition_Combine此调用在类中启动递归条件解析。

这与Condition类层次结构一起运行(请参阅 Mage_SalesRule_Model_Rule_Condition_*)。
您也可以通过调用快速查看条件结构$rule->getConditions()->asArray()

于 2013-02-19T08:21:30.687 回答