Example #1
0
 public function getShippingRates($order)
 {
     $request = $this->prepareShippingRequest($order);
     $shipping = Mage::getModel('shipping/shipping');
     $result = $shipping->collectRates($request)->getResult();
     if ($result) {
         $rates = array();
         foreach ($result->getAllRates() as $_rate) {
             $rate = new Varien_Object();
             $rate->setData($_rate->getData());
             $carrier = $rate->getCarrier();
             if (!isset($rates[$carrier])) {
                 $rates[$carrier] = array();
             }
             $rate->setCode($carrier . '_' . $rate->getMethod());
             $rates[$carrier][$rate->getCode()] = $rate;
         }
         return $rates;
     }
     return null;
 }