magento:保存没有事件的产品?

magento:保存没有事件的产品?,magento,Magento,是否可以保存产品,但我不希望事件启动。 我知道不需要事件,因为我所做的更新不会影响任何事情。 例如,我只更新自己的属性或任何东西 马吕斯告诉我: Mage::getSingleton('catalog/product_action')->updateAttributes($productIds, $attributes, $storeId); 这很好,所以您甚至不进行保存,但我只是想知道是否有一种方法可以跳过仍然调用save()方法的事件(在某些情况下可能会有所帮助) 谢谢, Rod禁用

是否可以保存产品,但我不希望事件启动。 我知道不需要事件,因为我所做的更新不会影响任何事情。 例如,我只更新自己的属性或任何东西

马吕斯告诉我:

Mage::getSingleton('catalog/product_action')->updateAttributes($productIds, $attributes, $storeId);
这很好,所以您甚至不进行保存,但我只是想知道是否有一种方法可以跳过仍然调用save()方法的事件(在某些情况下可能会有所帮助)

谢谢,
Rod

禁用保存时的事件可能是一种危险且有害的方法。我不推荐。
但如果您坚持,我认为您可以通过在运行时使用事件更改配置节点来实现这一点:

您需要做的是,在调用
$product->save()
之前,从配置中获取所有具有与产品相关事件的节点:
global/events/catalog\u product\u save\u before
global/events/catalog\u product\u save\u after
…可能还有其他节点,并在其中插入禁用的节点。保存完成后,删除
类型
节点

您可以获得以下事件的所有(全局)观察员:

Mage::getConfig()->getNode('global/events/catalog_product_save_before');
循环遍历结果并将类型设置为禁用

下面是一个例子。
假设你有这个活动: 这里有一些 行动

您需要这样做:

Mage::getConfig()->setNode("global/events/catalog_product_save_before/observers/some_alias/type", 'disabled');
注意:除了
global
区域外,可以在
frontend
adminhtml
区域中找到事件