1

每次保存产品时,我都会尝试记录一些简单的数据,例如价格和目录规则价格。我已经设置了我的模块来处理这个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>
4

1 回答 1

0

没关系,这原来是我用来从 SQL 中提取数据的旧代码的问题。当我更新我们的方法以正确查询时,一切都按预期工作。哎呀!

于 2013-04-15T22:19:11.210 回答