Ejemplo n.º 1
0
 /**
  * get a product option based on quote option
  *
  * @param Mage_Sales_Model_Quote_Item_Option $option
  * @return Mage_Catalog_Model_Product_Option|null
  */
 public function getOptionProductOption($option)
 {
     $optionId = null;
     if (strpos($option->getCode(), Mage_Catalog_Model_Product_Type_Abstract::OPTION_PREFIX) === 0) {
         $optionId = str_replace(Mage_Catalog_Model_Product_Type_Abstract::OPTION_PREFIX, '', $option->getCode());
         if ((int) $optionId != $optionId) {
             $optionId = null;
         }
     }
     $productOption = null;
     if ($optionId) {
         /** @var $productOption Mage_Catalog_Model_Product_Option */
         $productOption = Mage::getModel('catalog/product_option')->load($optionId);
     }
     if (!$productOption || !$productOption->getId() || $productOption->getProductId() != $option->getProductId()) {
         return null;
     } else {
         return $productOption;
     }
 }
Ejemplo n.º 2
0
 /**
  * Register option code
  *
  * @param   Mage_Sales_Model_Quote_Item_Option $option
  * @return  Mage_Sales_Model_Quote_Item
  */
 protected function _addOptionCode($option)
 {
     if (!isset($this->_optionsByCode[$option->getCode()])) {
         $this->_optionsByCode[$option->getCode()] = $option;
     } else {
         Mage::throwException(Mage::helper('Mage_Sales_Helper_Data')->__('An item option with code %s already exists.', $option->getCode()));
     }
     return $this;
 }
Ejemplo n.º 3
0
 /**
  * Register option code
  *
  * @param   Mage_Sales_Model_Quote_Item_Option $option
  * @return  Mage_Sales_Model_Quote_Item
  */
 protected function _addOptionCode($option)
 {
     if (!isset($this->_optionsByCode[$option->getCode()])) {
         $this->_optionsByCode[$option->getCode()] = $option;
     } else {
         AO::throwException(AO::helper('sales')->__('Item option with code %s already exist', $option->getCode()));
     }
     return $this;
 }