当我们创建一些促销或购物车规则时,我想在代码中准确地解析和应用规则。
我知道它在这里:Mage_SalesRule_Model_Rule 但无法完全弄清楚。
-谢谢。
好吧,你可以从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()
。