1

プロモーションやショッピング カートのルールを作成するとき、ルールの解析と適用がコード内のどこで行われるかを正確に知りたいです。

私はそれがここにあることを知っています: Mage_SalesRule_Model_Rule しかし、それを完全に理解することはできません.

-Thnx。

4

1 に答える 1

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()

于 2013-02-19T08:21:30.687 に答える