Ejemplo n.º 1
0
 /**
  * Save category after
  *
  * @param   Varien_Event_Observer $observer
  * @return  Mage_CatalogIndex_Model_Observer
  */
 public function catalogCategorySaveAfter(Varien_Event_Observer $observer)
 {
     $category = $observer->getEvent()->getCategory();
     if ($category && $category->getId()) {
         // For category
         if (!self::$isExistsCategory) {
             // if category was created now
             Mage::getModel('searchanise/queue')->addActionCategory($category);
         }
         // For products from category
         $products = $category->getProductCollection();
         if (!empty($products)) {
             if (empty(self::$productIdsInCategory)) {
                 Mage::getModel('searchanise/queue')->addActionProducts($products);
             } else {
                 $productIds = array();
                 foreach ($products as $product) {
                     $id = $product->getId();
                     if (!empty($id) && !in_array($id, self::$productIdsInCategory)) {
                         $productIds[] = $id;
                     }
                 }
                 Mage::getModel('searchanise/queue')->addActionProductIds($productIds);
             }
         }
     }
     self::$isExistsCategory = false;
     self::$productIdsInCategory = array();
     return $this;
 }