Обозреватель событий Magento не работает на некоторых машинах - PullRequest
2 голосов
/ 07 декабря 2011

Кажется, я не могу понять, почему мой наблюдатель событий работает с моей машины (и других сотрудников), а не с других машин в офисе.

Например, у меня есть наблюдатель, который слушает событие:

controller_action_postdispatch_adminhtml_process_reindexProcess

Мой код обнаруживает событие и запускает некоторый код. Когда я запускаю процесс переиндексации, мой код выполняется. Когда некоторые другие машины здесь, в офисе, выполняют переиндексацию, либо событие не запускается, либо мой наблюдатель не обнаруживает его.

Почему компьютер или пользователь, нажимающий на кнопку переиндексации на панели администратора, что-либо меняет в отношении того, как события запускаются или наблюдаются?

Я как можно лучше исследовал эту проблему и нашел этот пост.

События не запускаются или наблюдатель не работает в magento

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

Эта проблема сводит меня с ума. Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

3 голосов
/ 07 декабря 2011

Вы можете попробовать много вуду, но в конечном итоге вам придется начать здесь

#File: app/Mage.php

public static function dispatchEvent($name, array $data = array())
{
    Varien_Profiler::start('DISPATCH EVENT:'.$name);
    $result = self::app()->dispatchEvent($name, $data);
    #$result = self::registry('events')->dispatch($name, $data);
    Varien_Profiler::stop('DISPATCH EVENT:'.$name);
    return $result;
}

и отладьте / запишите выполнение вашего события, чтобы определить, почему оно не срабатывает в определенных ситуациях.

Конкретный ответ из комментариев

Спасибо! Я смог увидеть, что повторное индексирование по галочкам вызывает событие, отличное от простого нажатия на текст процесса повторного индексирования. Ужасно длинная ошибка для отладки, но простое решение. Еще раз спасибо! -

0 голосов
/ 07 декабря 2011

Вы уверены, что у вас одинаковое состояние файла на обоих компьютерах? Может быть, вы забыли перенести / зарегистрировать MyFirm_MyModule.xml и ваш модуль не активен?

Используются ли на компьютерах разные операционные системы? Если вы работаете в Windows, а ваши коллеги - в Linux, это может быть проблема с прописными / строчными буквами имен модулей.

...