Иногда, когда вы ищете удобное событие для подключения, я немного разбираюсь в программировании...
-
Измените
Mage::dispatchEvent
с помощью этой дополнительной строки:Mage::log($name.'('.implode(',', array_keys($data)).')');
-
Отметьте начальную точку, которую я знаю, я не могу ее поймать раньше:
Mage::log(__METHOD__.'::START');
-
Отметьте конечную точку, которую я не хочу поймать позже:
Mage::log(__METHOD__.'::STOP');
-
Следите за журналом и проходите через сайт (например, подавайте заявку, независимо от того, что расследуется)
tailf var/log/system.log
Это дает мне экран, полный скучных данных и имен передаваемых объектов. Помимо START
и STOP
, я обычно не ищу что-либо достаточно для grep для этого, и я должен полагаться на свой опыт, чтобы определить возможные точки загрузки. Например, при размещении заказов я знаю, что где-то часто есть "цитата", или можно получить ссылку на заказ через объект "оплата" или наоборот.
Затем я должен забыть удалить мои маркеры (не так сложно при использовании какого-либо управления версиями).
Какие методы вы используете для поиска событий? Можете ли вы это сделать без изменения кода ядра?