public function collect(Mage_Sales_Model_Quote_Address $address) { parent::collect($address); $this->_setAmount(0); $this->_setBaseAmount(0); $items = $this->_getAddressItems($address); if (!count($items)) { return $this; //this makes only address type shipping to come through } $quote = $address->getQuote(); if (Excellence_Fee_Model_Fee::canApply($address)) { $exist_amount = $quote->getFeeAmount(); $fee = Excellence_Fee_Model_Fee::getFee(); $balance = $fee - $exist_amount; // $balance = $fee; //$this->_setAmount($balance); //$this->_setBaseAmount($balance); $address->setFeeAmount($balance); $address->setBaseFeeAmount($balance); $quote->setFeeAmount($balance); $address->setGrandTotal($address->getGrandTotal() + $address->getFeeAmount()); $address->setBaseGrandTotal($address->getBaseGrandTotal() + $address->getBaseFeeAmount()); } }
public function collect(Mage_Sales_Model_Quote_Address $address) { // echo "in"; parent::collect($address); $this->_setAmount(0); $this->_setBaseAmount(0); $items = $this->_getAddressItems($address); if (!count($items)) { return $this; //this makes only address type shipping to come through } /*$flag=false; foreach($items as $item){ $_product = Mage::getModel('catalog/product')->load($item->getProductId()); if($_product->getAttributeSetId()=='9'){ if($item->getProduct()->getRemoteInstallation()!='0.00' || $item->getProduct()->getRemoteInstallation()!='') { $flag=true; break; } } }*/ $is_set_remote = Mage::getModel('checkout/cart')->canApplyRemoteInstallation(); $quote = $address->getQuote(); if ($is_set_remote == 1) { $exist_amount = $quote->getFeeAmount(); $fee = Excellence_Fee_Model_Fee::getFee(); $balance = $fee - $exist_amount; //$balance = $fee; //$this->_setAmount($balance); //$this->_setBaseAmount($balance); $address->setFeeAmount($balance); $address->setBaseFeeAmount($balance); $quote->setFeeAmount($balance); $address->setGrandTotal($address->getGrandTotal() + $address->getFeeAmount()); $address->setBaseGrandTotal($address->getBaseGrandTotal() + $address->getBaseFeeAmount()); } }