如何在Magento Enterprise Edition中以编程方式获取和设置奖励积分?

Sil*_*mer 3 magento

我已经好好看看了,但我无法弄清楚如何在Magento Enterprise Edition中获得和设置奖励积分

我该怎么做这样的事情:

$customer = Mage::getModel('customer/customer')->load($customer_id);

Mage::getModel('enterprise_reward/reward')->setPoints($customer, $points);

$points = Mage::getModel('enterprise_reward/reward')->getPoints($customer);
Run Code Online (Sandbox Code Playgroud)

Sil*_*mer 5

弄清楚了.执行以下操作:

public function getPoints($customer_id = false) {
    $customer = Mage::getModel('customer/customer')->load($customer_id);
    $reward = Mage::getModel('enterprise_reward/reward')
    ->setCustomer($customer)
    ->setWebsiteId(Mage::app()->getWebsite()->getId())
    ->loadByCustomer();
    $balance = $reward->getPointsBalance();
    return $balance;
}


public function setPoints($customer_id = false, $points = false, $comment = 'Adjustment', $action = 0) {       
    $customer = Mage::getModel('customer/customer')->load($customer_id);

    $reward = Mage::getModel('enterprise_reward/reward')
    ->setCustomer($customer)
    ->setWebsiteId(Mage::app()->getWebsite()->getId())
    ->loadByCustomer();

    $reward->setPointsBalance($points)
           ->setAction($action) // Enterprise_Reward_Model_Reward::REWARD_ACTION_ADMIN
           ->setComment($comment)
           ->updateRewardPoints();

    $history = Mage::getModel('enterprise_reward/reward_history')
            ->setReward($reward)->prepareFromReward()->save();
}
Run Code Online (Sandbox Code Playgroud)