Magento中的这两个事件有什么区别?

时间:2013-12-03 10:06:17

标签: magento magento-1.7

Magento中<catalog_category_save_after><catalog_category_save_commit_after>之间有什么区别?

我要创建一个新模块,我必须决定将这两个事件中的哪一个挂起我的观察者。

2 个答案:

答案 0 :(得分:7)

类别(和所有其他对象)保存在事务中。在事务内触发事件catalog_category_save_after。因此,此事件的观察者中可能出现的任何错误都将触发回滚。

事务提交后触发事件catalog_category_save_commit_after。因此,此事件的观察者内部的任何错误都不会触发类别保存的回滚。

答案 1 :(得分:1)

提交后会触发

事件,这意味着此观察者可用于表示SQl的成功。

虽然不能保证不会有任何回滚。在编写观察者时,我们不能理所当然地认为无论什么样的SQL被解雇都不会被回滚。

简而言之,如果你想添加一个观察者,那么在成功之后应该收集一些特定的功能(comit),然后使用catalog_category_save_commit_after。