linccce

Subscription notification

Aug 21st, 2014
219
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.90 KB | None | 0 0
  1.     public function sendEmailToOutofStockSubscription($observer) {
  2.  
  3.         $product = $observer->getEvent()->getProduct();
  4.         if ($product) {
  5.             $stockItem = Mage::getModel('cataloginventory/stock_item')->loadByProduct($product->getId());
  6.             if ($stockItem) {
  7.                 $isInStock = $stockItem->getIsInStock();
  8.  
  9.                 if ($isInStock >= 1) {
  10.                     $subscriptions = Mage::getResourceModel('outofstocksubscription/info')->getSubscriptions($product->getId());
  11.                     if (count($subscriptions) > 0) {
  12.                         foreach ($subscriptions as $subscription) {
  13.                             //$prodUrl = $product->getProductUrl();
  14.                             $prodUrl = Mage::getBaseUrl();
  15.                             $prodUrl = str_replace("/index.php", "", $prodUrl);
  16.                             $prodUrl = $prodUrl . $product->getData('url_path');
  17.  
  18.                             $storeId = $subscription['store_id'];
  19.                             $productId = $subscription['product_id'];
  20.                             $name = '';
  21.  
  22.  
  23.                             Mage::app()->setCurrentStore($storeId);
  24.                             $product1 = Mage::getModel('catalog/product')
  25.                                     ->getCollection()
  26.                                     ->addFieldToFilter('entity_id', $productId)
  27.                                     ->addAttributeToSelect('name');
  28.  
  29.                             foreach ($product1 as $prod2) {
  30.                                 if ($prod2->getId() == $productId)
  31.                                     $name = $prod2->getName();
  32.                             }
  33.  
  34.                             $emailTemplate = Mage::getStoreConfig('outofstocksubscription/mail/template', $storeId);
  35.                             if (!is_numeric($emailTemplate)) {
  36.                                 $emailTemplate = self::OUTOFSTOCKSUBSCRIPTION_MAIL_TEMPLATE;
  37.                             }
  38.  
  39.                             $translate = Mage::getSingleton('core/translate');
  40.  
  41.                             $translate->setTranslateInline(false);
  42.                             Mage::getModel('core/email_template')
  43.                                     ->setDesignConfig(array('area' => 'frontend', 'store' => $storeId))
  44.                                     ->sendTransactional(
  45.                                             $emailTemplate, 'support', $subscription['email'], '', array(
  46.                                         'product' => $name,
  47.                                         'product_url' => $prodUrl,
  48.                             ));
  49.                             $translate->setTranslateInline(true);
  50.  
  51.                             Mage::getResourceModel('outofstocksubscription/info')->deleteSubscription($subscription['id']);
  52.                         }
  53.                     }
  54.                 }
  55.             }
  56.         }
  57.         //return $this;
  58.     }
Advertisement
Add Comment
Please, Sign In to add comment