我一直在努力做一些事情,似乎应该是简单的:在保存事件之前/之后查看Magento模型数据更改?
- 钩MODEL_save_after事件(或MODEL_save_before如果这是更合适)
- 检查的getData()VS getOrigData(),看看有什么改变了用户所做的
现在,在'customer_address'模型的示例中,通过后端编辑,我发现两个保存事件都被触发了两次。
第一次'customer_address_save_before'被触发,后面跟着'customer_address_save_after'。在这两种情况下getOrigData()和getData()都是相同的,除了getData()有一个新的'updated_at'值,并有一个'store_id'集(这是一个错误?)。因此,该模型尚未提供用户提交的数据。这些事件都是在输入用户数据或验证之前,所以这是没有用的。
'customer_address_save_before'被触发,第二次触发'customer_address_save_after'。这次(在两种情况下),getOrigData()都是空的,并且getData()现在具有来自用户的所有提交的数据。所以我无法比较这些事件!看来这是经过验证,保存,很多!
我也不确定保存过程为什么会出现两次?
Magento v1.3.2.4正在使用中。
我错过了什么吗?
什么是你正在勾选的事件的名称? – 2010-03-10 05:17:00
customer_address_save_after或customer_address_save_before。 有趣的是,两种情况下模型中的数据是相同的! – KingJackaL 2010-03-10 21:08:34