Я пытаюсь перегрузить несколько методов, расположенных в классе Enterprise_Catalog_Model_Observer. В основной конфигурации этот Observer определяется как
<catalog_product_save_after>
<observers>
<catalog_product_save_custom_redirect>
<class>enterprise_catalog/observer</class>
<method>saveProductCustomRedirect</method>
</catalog_product_save_custom_redirect>
</observers>
</catalog_product_save_after>
В моем приложении enxtension / code / local / Extensioname / Redirects / etc / config.xml
<?xml version="1.0"?>
<config>
<modules>
<Extensioname_Redirects>
<version>0.1.0</version>
</Extensioname_Redirects>
</modules>
<global>
<models>
<Extensioname_Redirects>
<class>Extensioname_Redirects_Model_Observer</class>
</Extensioname_Redirects>
</models>
</global>
<frontend>
<events>
<catalog_product_save_after>
<observers>
<extensioname_redirects>
<class>Extensioname_Redirects_Model_Observer</class>
<method>saveProductCustomRedirect</method>
</extensioname_redirects>
</observers>
</catalog_product_save_after>
</events>
</frontend>
</config>
в приложении / код / локальный / Extensioname / перенаправления / модель / Observer.php
class Extensioname_Redirects_Model_Observer extends Enterprise_Catalog_Model_Observer
{
public function saveProductCustomRedirect(Varien_Event_Observer $observer)
{
...
}
}
Но основной наблюдатель все еще запускает saveProductCustomRedirects, и мое расширение ничего не делает. Пожалуйста помоги
Для чего это стоит: если у кого-то возникают проблемы с этим, моя проблема сводится к тому, что я не переписываю основной наблюдатель в моей конфигурации расширений. Кроме того, словосочетание сыграло свою роль в том, что расширение начало работать после того, как все мои теги xml были заменены на строчные в узле моделей. Моя обновленная конфигурация расширений ниже.
<?xml version="1.0"?>
<config>
<modules>
<My_Extension>
<version>0.1.0</version>
</My_Extension>
</modules>
<global>
<models>
<my_extension>
<class>My_Extension_Model_Observer</class>
</my_extension>
<!-- Updated here to rewrite core observer
Enterprise_Catalog_Model_Observer -->
<enterprise_catalog>
<rewrite>
<observer>My_Extension_Model_Observer</observer>
</rewrite>
</enterprise_catalog>
</models>
</global>
<frontend>
<events>
<catalog_product_save_after>
<observers>
<my_extension>
<class>My_Extension_Model_Observer</class>
<method>saveProductCustomRedirect</method>
</my_extension>
</observers>
</catalog_product_save_after>
</events>
</frontend>
</config>
Других решений пока нет …