Como encontrar um evento apropriado no Magento?
s vezes, ao procurar um evento conveniente para conectar, faço um pouco de programação exploratória .
ModifyMage::dispatchEvent
com esta linha extra:
Mage::log($name.'('.implode(',', array_keys($data)).')');
Marque um ponto de partida que eu sei que não consigo entender mais cedo:
Mage::log(__METHOD__.'::START');
Marque um ponto final que não quero pegar mais tarde:
Mage::log(__METHOD__.'::STOP');
Observe o log e passe pelo site (por exemplo, envio de pedidos, o que estiver sendo investigado)
tailf var/log/system.log
Isso me dá uma tela cheia de dados chatos e os nomes dos objetos que estão sendo transmitidos. Diferente doSTART
eSTOP
Normalmente, não estou procurando nada específico o suficiente para recebê-lo e preciso confiar na minha experiência para identificar possíveis pontos de autoinicialização. Por exemplo, ao fazer pedidos, sei que geralmente há uma 'cotação' em algum lugar, ou é possível obter uma referência ao pedido por meio de um objeto 'pagamento' ou vice-versa.
Então eu tenho que lembrar de remover meus marcadores (não tão difícil quando se usa qualquer tipo de controle de versão
Quais métodos você usa para encontrar eventos? Você pode fazer isso sem modificar o código principal?