Наблюдатель не выполняется. Могли бы пригодиться дополнительные глаза
С помощью, которую я получил здесь вчера, я пытаюсь настроить наблюдателя, который обновит опцию "Управление запасами" для всех дочерних элементов настраиваемого продукта при его изменении. Следуя нескольким учебным пособиям, я думаю, что у меня правильный код, но наблюдатель не стреляет. Мой модуль настроен следующим образом:
Настройка модуля в /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 ничего не записывается (должен регистрироваться "тест"). Я надеюсь, что это что-то глупое, как будто я что-то неправильно набрал или Я звоню не тому наблюдателю, и дополнительная пара глаз может заметить мою ошибку. ТИА.
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>