Frontend de tienda:¿Cuál es el primer evento que se puede observar?
-
12-12-2019 - |
Pregunta
Con un Magento 1.9.1 (CE) o 1.14.1/1.14.2 (EE) actual, ¿cuál es el primero evento que se puede observar?
- para la interfaz (a través de
/index.php
;cuando el instalador ya se ejecutó) - para la interfaz, cuando el instalador aún no se ejecutó (si hay alguna diferencia)
- para el administradorhtml
- en cron
- en el servicio web API 1
- en el servicio web API 2
(Esta pregunta podría buscar hechos puros, pero lo más interesante en el alcance de Magento 1 es cómo encontrar estos eventos en el código)
En el proceso de obtener más información, recopilé algunos recursos web:
- ¿Cuál es el primer evento que envía Magento? (Preguntas y respuestas de junio de 2011)
- Eventos de inicio de Magento (septiembre de 2012;por Alan tormenta)
- ¿Cuál es el primer evento disparado en Magento? - (abril de 2014;adiós.Schrade)
Solución
Es posible observar estos eventos usted mismo de la siguiente manera:
/app/Mage.php modifica el dispatchEvent()
funcionar de la siguiente manera:
/**
* 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;
}
Ahora, cuando ejecutes la página, notarás que /var/log/events.log
registra cada evento, en orden, al cargar la página que le interesa observar.
Asegúrese de que esto se realice en un entorno de prueba donde usted sea la única persona que utiliza el sitio, para asegurarse de registrar los eventos correctos.
Limpie el archivo de registro después de observar cada página individualmente para que el primer evento registrado sea siempre el primer evento activado.