1
    <!-- The code of the event we want to observe -->
    <catalog_product_save_after>
        <!-- Defining an observer for this event -->
        <observers>
            <!-- Unique idetifier should be in lowercase letter -->
            <xx_xxxx>
                <!-- The model to be instantiated -->
                <class>xx_xxxx/observer</class>
                <!-- The method of the class to be called -->
                <method>productAddUpdate</method>
                <!-- The type of class to instantiate -->
                <type>singleton</type>
            </xx_xxxx >
        </observers>
    </catalog_product_save_after>

这是我的代码,此事件同时触发产品更新和创建是否有任何单独的事件可用于单独更新和创建?

4

1 回答 1

0

不,没有单独的事件,但您可以检查观察者的差异。您的方法productAddUpdate可以接收Varien_Event_Observer保存正在保存的产品的类型参数。您可以像这样检查产品是新产品还是正在更新。

public function productAddUpdate($observer){
    $product = $observer->getEvent()->getProduct();
    if ($product->isObjectNew()) { 
        // the product is being added
    }
    else {
        //the product is being updated
    }
}

该方法isObjectNew适用于 save 方法中的任何实体类型以及由此方法触发的事件。

于 2013-09-06T12:33:07.777 回答