/** * Create magento coupon product from object * * @param Varien_Object $coupon * @return Mage_Catalog_Model_Product */ public function createProductFromShopgateCoupon(Varien_Object $coupon) { /* @var $product Mage_Catalog_Model_Product */ $product = Mage::getModel('catalog/product'); $id = $product->getIdBySku($coupon->getItemNumber()); $product->load($id); $product = $this->prepareShopgateCouponProduct($product); $product->setPriceCalculation(false); $product->setName($coupon->getName()); $product->setSku($coupon->getItemNumber()); $product->setPrice($coupon->getUnitAmountWithTax()); $product->setStoreId(Mage::app()->getStore()->getStoreId()); if (!$product->getId()) { $oldStoreId = Mage::app()->getStore()->getStoreId(); Mage::app()->setCurrentStore(0); $product->save(); Mage::app()->setCurrentStore($oldStoreId); } return $product; }