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
区域中找到事件