*/ class Mage_Checkout_Block_Multishipping_Shipping extends Mage_Sales_Block_Items_Abstract { /** * Get multishipping checkout model * * @return Mage_Checkout_Model_Type_Multishipping */ public function getCheckout() { return Mage::getSingleton('checkout/type_multishipping'); } protected function _prepareLayout() { if ($headBlock = $this->getLayout()->getBlock('head')) { $headBlock->setTitle(Mage::helper('checkout')->__('Shipping Methods') . ' - ' . $headBlock->getDefaultTitle()); } return parent::_prepareLayout(); } public function getAddresses() { return $this->getCheckout()->getQuote()->getAllShippingAddresses(); } public function getAddressCount() { $count = $this->getData('address_count'); if (is_null($count)) { $count = count($this->getAddresses()); $this->setData('address_count', $count); } return $count; } public function getAddressItems($address) { $items = array(); foreach ($address->getAllItems() as $item) { if ($item->getParentItemId()) { continue; } $item->setQuoteItem($this->getCheckout()->getQuote()->getItemById($item->getQuoteItemId())); $items[] = $item; } $itemsFilter = new Varien_Filter_Object_Grid(); $itemsFilter->addFilter(new Varien_Filter_Sprintf('%d'), 'qty'); return $itemsFilter->filter($items); } public function getAddressShippingMethod($address) { return $address->getShippingMethod(); } public function getShippingRates($address) { $groups = $address->getGroupedAllShippingRates(); return $groups; } public function getCarrierName($carrierCode) { if ($name = Mage::getStoreConfig('carriers/'.$carrierCode.'/title')) { return $name; } return $carrierCode; } public function getAddressEditUrl($address) { return $this->getUrl('*/multishipping_address/editShipping', array('id'=>$address->getCustomerAddressId())); } public function getItemsEditUrl() { return $this->getUrl('*/*/backToAddresses'); } public function getPostActionUrl() { return $this->getUrl('*/*/shippingPost'); } public function getBackUrl() { return $this->getUrl('*/*/backtoaddresses'); } public function getShippingPrice($address, $price, $flag) { return $address->getQuote()->getStore()->convertPrice($this->helper('tax')->getShippingPrice($price, $flag, $address), true); } }