プロモーションやショッピング カートのルールを作成するとき、ルールの解析と適用がコード内のどこで行われるかを正確に知りたいです。
私はそれがここにあることを知っています: Mage_SalesRule_Model_Rule しかし、それを完全に理解することはできません.
-Thnx。
プロモーションやショッピング カートのルールを作成するとき、ルールの解析と適用がコード内のどこで行われるかを正確に知りたいです。
私はそれがここにあることを知っています: Mage_SalesRule_Model_Rule しかし、それを完全に理解することはできません.
-Thnx。
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()
。