每次保存产品时,我都会尝试记录一些简单的数据,例如价格和目录规则价格。我已经设置了我的模块来处理这个catalog_product_save_after
事件,除了目录规则价格将价格拉到保存之前,一切似乎都工作正常。
为了进行测试,我尝试对catalogrule_product_price
表进行直接 MySQL 查询,但根据我查询时的最后一次更改,其中的值似乎没有更新。保存后我直接检查 MySQL 并按预期更新。
我在 中找到了该replace into
语句,但是当我尝试在我仍然获得旧的目录规则价格Mage_CatalogRule_Model_Mysql4_Rule::_saveRuleProductPrices()
之后立即放置我的直接 sql 查询时。$this->_getWriteAdapter()->query($query);
谁能指出我正确的方向?
从模块的 config.xml 的一部分...
<adminhtml>
<events>
<catalog_product_save_after>
<observers>
<mycompany_productlog_observer>
<type>singleton</type>
<class>MyCompany_ProductLog_Model_Observer</class>
<method>catalog_product_save_after</method>
</mycompany_productlog_observer>
</observers>
</catalog_product_save_after>
</events>
</adminhtml>
来自 etc/modules/MyCompany_All.xml 的部分调用...
<MyCompany_ProductLog>
<active>true</active>
<codePool>local</codePool>
<depends>
<Mage_CatalogRule />
</depends>
</MyCompany_ProductLog>