*/ class Mage_Sales_Model_Quote_Address_Item extends Mage_Sales_Model_Quote_Item_Abstract { /** * Quote address model object * * @var Mage_Sales_Model_Quote_Address */ protected $_address; protected $_quote; protected function _construct() { $this->_init('sales/quote_address_item'); } protected function _beforeSave() { parent::_beforeSave(); if ($this->getAddress()) { $this->setQuoteAddressId($this->getAddress()->getId()); } return $this; } /** * Declare address model * * @param Mage_Sales_Model_Quote_Address $address * @return Mage_Sales_Model_Quote_Address_Item */ public function setAddress(Mage_Sales_Model_Quote_Address $address) { $this->_address = $address; $this->_quote = $address->getQuote(); return $this; } /** * Retrieve address model * * @return Mage_Sales_Model_Quote_Address */ public function getAddress() { return $this->_address; } /** * Retrieve quote model instance * * @return Mage_Sales_Model_Quote */ public function getQuote() { return $this->_quote; } /** * Import item to quote * * @param Mage_Sales_Model_Quote_Item $quoteItem * @return Mage_Sales_Model_Quote_Address_Item */ public function importQuoteItem(Mage_Sales_Model_Quote_Item $quoteItem) { $this->_quote = $quoteItem->getQuote(); $this->setQuoteItem($quoteItem) ->setQuoteItemId($quoteItem->getId()) ->setProductId($quoteItem->getProductId()) ->setProduct($quoteItem->getProduct()) ->setSku($quoteItem->getSku()) ->setName($quoteItem->getName()) ->setDescription($quoteItem->getDescription()) ->setWeight($quoteItem->getWeight()) ->setPrice($quoteItem->getPrice()) ->setIsQtyDecimal($quoteItem->getIsQtyDecimal()) ->setCost($quoteItem->getCost()); if (!$this->hasQty()) { $this->setQty($quoteItem->getQty()); } $this->setQuoteItemImported(true); return $this; } public function getOptionBycode($code) { if ($this->getQuoteItem()) { return $this->getQuoteItem()->getOptionBycode($code); } return null; } }