Magento следит за сохранением только специального типа продукта

Я пишу пользовательский модуль, в который я добавил пользовательский тип продукта. Как я могу написать наблюдатель catalog_product_save_after только для этого пользовательского типа продукта?


person Andrew Stepanchuk    schedule 11.10.2013    source источник


Ответы (2)


Вы не можете добавить наблюдателя для этого типа продукта, но вы можете проверить в наблюдателе, действителен ли продукт. Если нет, то ничего не делайте.

public function doSomething($observer){
   $product = $observer->getEvent()->getProduct();
   if ($product->getTypeId() != 'YOUR TYPE HERE'){
       return $this;
   }
   //your magic here
}
person Marius    schedule 11.10.2013

События *_save_after запускаются из класса Varien_Object и являются динамическими в зависимости от класса. Так что это будет одно и то же событие для всех типов продуктов.

Вы по-прежнему можете наблюдать за событием catalog_product_save_after и выполнять свои действия в зависимости от типа продукта:

public function yourObserverMethod($observer)
{          
    $product = $observer->getEvent()->getProduct();
    if($product == Mage_Catalog_Model_Product_Type::TYPE_CONFIGURABLE) {
        // Your stuff
    }

}
person Reedz    schedule 11.10.2013