在magento的代码中应用升级规则的位置

在magento的代码中应用升级规则的位置,magento,Magento,当我们创建一些促销或购物车规则时,我想知道规则的解析和应用在代码中的确切位置 我知道是这样的:Mage_SalesRule_Model_Rule,但无法完全理解它 -Thnx.好的,您可以从Mage\u SalesRule\u Model\u Validator类开始 方法过程它处理每个购物车项目,并检查是否可以应用任何购物车规则。很容易看出应用了哪些规则。 规则有validate方法 /** * Validate rule conditions to determine if rule ca

当我们创建一些促销或购物车规则时,我想知道规则的解析和应用在代码中的确切位置

我知道是这样的:Mage_SalesRule_Model_Rule,但无法完全理解它


-Thnx.

好的,您可以从
Mage\u SalesRule\u Model\u Validator
类开始 方法
过程

它处理每个购物车项目,并检查是否可以应用任何购物车规则。很容易看出应用了哪些规则。
规则有
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\u Rule\u Model\u Condition\u Combine
类中启动递归条件解析

使用
条件
类层次结构进行操作(请参见Mage\u SalesRule\u Model\u Rule\u Condition\u*)。
您还可以通过调用
$rule->getConditions()->asArray()
快速查看条件结构