当我们创建一些促销或购物车规则时,我想要在代码中确切地解析和应用规则。
我知道它在这里:Mage_SalesRule_Model_Rule但不能完全弄明白。
-Thnx。
答案 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()
快速查看条件结构。