Когда таблица catalogrule_product_price обновляется в связи с сохранением продукта в Magento?

Я пытаюсь регистрировать некоторые простые данные каждый раз, когда продукт сохраняется, например, цены и цены правил каталога. Я настроил свой модуль для работы с событием catalog_product_save_after, и все, кажется, работает нормально, за исключением цены в каталоге, которая тянет цену ДО сохранения.

Чтобы проверить, я попытался вставить прямой запрос MySQL к таблице catalogrule_product_price, но оказалось, что значения там не были обновлены на основе последнего изменения, когда я его запрашиваю. После сохранения я проверяю 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>

person Scruffy Paws    schedule 11.04.2013    source источник


Ответы (1)


Неважно, это оказалось проблемой старого кода, который я использовал для извлечения данных из SQL. Когда я обновил наши методы для правильного запроса, все заработало, как и ожидалось. Ой!

person Scruffy Paws    schedule 15.04.2013