/** * @param ShopgateCartBase $order * @return $this */ public function init(ShopgateCartBase $order) { ShopgateLogger::getInstance()->log("# " . __FUNCTION__, ShopgateLogger::LOGTYPE_DEBUG); $this->_order = $order; $this->_carrier = $this->_fetchCarrier($order->getShippingGroup()); return $this; }
/** * Sets the correct Shipping Carrier and Method * in relation to * ShopgateOrder->{shipping_group} [carrier] * ShopgateOrder->{shipping_info} [method] * * @param Mage_Sales_Model_Quote_Address $shippingAddress * @param ShopgateCartBase $order */ public function setShippingMethod(Mage_Sales_Model_Quote_Address $shippingAddress, ShopgateCartBase $order) { /* dont set shipping method when the order does not contain any shipping information (e.g. checkCart) */ if (!$order->getShippingGroup()) { ShopgateLogger::getInstance()->log("# setShippingMethod skipped, no Shipping information in " . get_class($order) . " available", ShopgateLogger::LOGTYPE_DEBUG); return; } ShopgateLogger::getInstance()->log("# Start of setShippingMethod process", ShopgateLogger::LOGTYPE_DEBUG); $mapper = Mage::getModel('shopgate/shopgate_shipping_mapper')->init($shippingAddress, $order); $shippingAddress->setShippingMethod($mapper->getCarrier() . '_' . $mapper->getMethod()); ShopgateLogger::getInstance()->log(" Shipping method set: '" . $shippingAddress->getShippingMethod() . "'", ShopgateLogger::LOGTYPE_DEBUG); ShopgateLogger::getInstance()->log("# End of setShippingMethod process", ShopgateLogger::LOGTYPE_DEBUG); }