Pergunta

Com um Magento 1.9.1 (CE) ou 1.14.1/1.14.2 (EE) atual, qual é o primeiro evento que pode ser observado?

  • para o front-end (via /index.php;quando o instalador já foi executado)
  • para o frontend, quando o instalador ainda não foi executado (se isso fizer diferença)
  • para o administradorhtml
  • no cron
  • na API de serviço web 1
  • na API de serviço web 2

(esta questão pode estar procurando fatos puros, mas o mais interessante no escopo do Magento 1 é como encontrar esses eventos no código)


No processo de descobrir mais, coletei alguns recursos da web:

Foi útil?

Solução

É possível observar esses eventos da seguinte forma:

/app/Mage.php modifique o dispatchEvent() funcionar conforme abaixo:

/**
 * Dispatch event
 *
 * Calls all observer callbacks registered for this event
 * and multiple observers matching event name pattern
 *
 * @param string $name
 * @param array $data
 * @return Mage_Core_Model_App
 */
public static function dispatchEvent($name, array $data = array())
{
    Mage::log($name, null, 'events.log', true); //add this line
    Varien_Profiler::start('DISPATCH EVENT:'.$name);
    $result = self::app()->dispatchEvent($name, $data);
    Varien_Profiler::stop('DISPATCH EVENT:'.$name);
    return $result;
}

Agora, ao executar a página, você notará que /var/log/events.log registra todos os eventos, em ordem, ao carregar a página que você deseja observar.

Certifique-se de que isso seja executado em um ambiente de teste onde você é a única pessoa que usa o site, para garantir que está registrando os eventos corretos.

Limpe o arquivo de log depois de observar cada página individualmente para que o primeiro evento registrado seja sempre o primeiro evento disparado.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a magento.stackexchange
scroll top