促销规则在magento中的代码中应用的位置

时间:2013-02-19 05:01:53

标签: magento

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

我知道它在这里:Mage_SalesRule_Model_Rule但不能完全弄明白。

-Thnx。

1 个答案:

答案 0 :(得分: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()快速查看条件结构。