Наблюдатель не выполняется. Могли бы пригодиться дополнительные глаза


С помощью, которую я получил здесь вчера, я пытаюсь настроить наблюдателя, который обновит опцию "Управление запасами" для всех дочерних элементов настраиваемого продукта при его изменении. Следуя нескольким учебным пособиям, я думаю, что у меня правильный код, но наблюдатель не стреляет. Мой модуль настроен следующим образом:

Настройка модуля в /app/etc/modules: MyCompany_Catalog.xml

<?xml version="1.0" encoding="UTF-8"?>
<config>
    <modules>
        <MyCompany_Catalog>
            <active>true</active>
            <codePool>local</codePool>
        </MyCompany_Catalog>
    </modules>
</config>

Настройка конфигурации в /приложении/коде/локальном/MyCompany/Каталоге/и т. Д: config.xml

<?xml version="1.0" encoding="UTF-8"?>
<config>
    <modules>
        <MyCompany_Catalog>
            <version>1.0.0</version>
        </MyCompany_Catalog>
    </modules>
    <stores>
        <admin>
            <design>
                <theme>
                    <template>MyCompany</template>
                </theme>
            </design>
        </admin>
    </stores>
    <global>
        <models>
            <mycompany_catalog>
                <class>MyCompany_Catalog_Model</class>
            </mycompany_catalog>
        </models>
        <events>
            <cataloginventory_stock_item_save_before>
                <observers>
                    <mycompany_catalog>
                        <class>mycompany_catalog/observer</class>
                        <method>mc_update_child</method>
                    </mycompany_catalog>
                </observers>
            </cataloginventory_stock_item_save_before>
        </events>
    </global>
</config>

И, наконец, наблюдатель в /приложении/коде/локальном/MyCompany/Каталоге/Модели: Observer.php

<?php

class MyCompany_Catalog_Model_Observer
{
    public function mc_update_child (Varien_Event_Observer $observer)
    {
        Mage::log('test');
    }
}

Модуль работает в том, что касается дизайна, так как он использует пользовательский "inventory.phtml", который я создал в /app/design/adminhtml/по умолчанию/MyCompany/шаблон/каталог/продукт/вкладка. Однако, когда я сохраняю настраиваемый родительский элемент, в system.log ничего не записывается (должен регистрироваться "тест"). Я надеюсь, что это что-то глупое, как будто я что-то неправильно набрал или Я звоню не тому наблюдателю, и дополнительная пара глаз может заметить мою ошибку. ТИА.

Author: John, 2014-03-19

1 answers

Обновите модель, чтобы не использовать шорткод в случае:

<events>
    <cataloginventory_stock_item_save_before>
        <observers>
            <mycompany_catalog>
                <class>MyCompany_Catalog_Model_Observer</class>
                <method>mc_update_child</method>
            </mycompany_catalog>
        </observers>
    </cataloginventory_stock_item_save_before>
</events>
 2
Author: philwinkle, 2014-03-19 16:49:25