【www.bbyears.com--magento】
添加一个affiliate Points项目进去。
这个费了一翻功夫。
首先要在配置文件中添加
代码如下****
<**>
subtotal,freeshipping,tax_subtotal,shipping
**>
*****
totals下的class是model下的模型类,必须继承于Mage_Sales_Model_Quote_Address_Total_Abstract,而nominal_totals下的class必须继承totals下的class.
totals下的class要实现2个方法
代码如下public function collect(Mage_Sales_Model_Quote_Address $address){
parent::collect($address);
$items = $this->_getAddressItems($address);
if (!count($items)) {
return $this;
}
$address->setAffiliatepointsAmount(10);
$address->setGrandTotal($address->getGrandTotal() – 10);
$address->setBaseGrandTotal($address->getBaseGrandTotal()-10);
return $this;
}
public function fetch(Mage_Sales_Model_Quote_Address $address)
{
$amount = $address->getAffiliatepointsAmount();
if ($amount != 0) {
$title = Mage::helper(‘affiliate’)->__(‘Affiliate Points’);
$address->addTotal(array(
‘code’ => $this->getCode(),
‘title’ => $title,
‘value’ => -$amount
));
}
return $this;
}
其中
代码如下 $items = $this->_getAddressItems($address);if (!count($items)) {
return $this;
}
这个是必须判断的,要不可能带来价格的重复计算。。