Magento 1.9.2.1 — Наблюдатель: catalog_product_save_before не срабатывает

Я искал, я не знаю, сколько страниц Google, прежде чем написать этот вопрос, и я знаю, что уже есть очень хорошие ответы от Marius а также Алан Сторм на очень похожие вопросы, но я, к сожалению, не смог понять, почему мой наблюдатель не стреляет так, как должен.

Это не первый раз, когда я играю с наблюдателями, и я очистил кеш либо от администратора, либо вручную от папки var / cache, я пробовал разные рабочие синтаксисы для вызова модели (complete_model_path_with подчеркивания, модуль / модель, верхний регистр, нижний регистр ). У меня есть другие наблюдатели, работающие нормально каждый день на одной и той же установке, и я пытался сделать это точно так же, но безуспешно. Я также пытался звонить с синглтоном вместо модели. Я попробовал три вида области (глобальный, внешний интерфейс и adminhtml). Я искал любую прямую или косвенную перезапись ядра, но все же возможно, что я пропустил бы один скрытый внутри другого модуля, но я почти всегда использую модули от известных разработчиков, которые уважают большинство стандартов Magento.

Есть часть моего кода:

Приложение / код / ​​местные / NameSpace / модуль / и т.д. /config.xml

<global>
<models>
<module>
<class>NameSpace_Module_Model</class>
<resourceModel>module_mysql4</resourceModel>
</module>
</models>
<events>
<catalog_product_save_before>
<observers>
<module>
<type>singleton</type>
<class>NameSpace_Module_Model_Observer</class>
<method>catalogProductSaveBefore</method>
</module>
</observers>
</catalog_product_save_before>
</events>
</global>

Приложение / код / ​​местные / NameSpace / модуль / модель /Observer.php

class NameSpace_Module_Model_Observer
{

public function catalogProductSaveBefore(Varien_Event_Observer $observer)
{
$product = $observer->getEvent()->getProduct();
file_put_contents("OBSERVER.TXT","FIRED");
echo "hello";
exit();

return $this;
}

}

ОБНОВИТЬ

приложение / и т.д. / модули /NameSpace_Module.xml

<?xml version="1.0"?>
<config>
<modules>
<NameSpace_Module>
<active>true</active>
<codePool>local</codePool>
<version>0.1.0</version>
<depends>
<Mage_Catalog />
</depends>
</NameSpace_Module>
</modules>
</config>

Я даже пытался добавить случайные символы в коде, чтобы вызвать фатальную ошибку, но она никогда не вызывается. Это может быть моей очень простой ошибкой, все, что я знаю, это то, что я тщательно пропустил свой код и, похоже, не могу найти проблему.

Пожалуйста, попробуйте прокомментировать, прежде чем дать ответ, так как я уже пробовал много решений и, возможно, уже ваше.

Большое спасибо заранее за вашу помощь, Любое предложение будет оценено!

2

Решение

Есть моменты, когда я спрашиваю себя;

-Я действительно разработчик?

Это моменты, когда весь мой сложный код проверен и полностью функционален всеми возможными способами, кроме чего-то такого простого и маленького.

После проверки, действительно ли моя модель наблюдателя существует внутри Magento:

require_once('/home/user/public_html/app/Mage.php');

Mage::init();

$observer = Mage::getModel('module/observer');

Да, я также понял, что вывод был прост текст

Добавление <?php перед любым PHP-кодом всегда хорошая идея!

4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]