software para guide developer descargar blocks php events magento controller mage

php - para - El observador de eventos de Magento no funciona en algunas máquinas



magento software download (2)

Parece que no puedo entender por qué mi observador de eventos funciona desde mi máquina (y otros compañeros de trabajo), pero no desde otras máquinas en la oficina.

Por ejemplo, tengo un observador que escucha el evento:

controller_action_postdispatch_adminhtml_process_reindexProcess

Mi código detecta el evento y ejecuta algún código. Cuando ejecuto el proceso de reindexación, mi código se ejecuta. Cuando ciertas otras máquinas aquí en la oficina ejecutan el re-índice, o bien el evento no se dispara, o mi observador no lo detecta.

¿Por qué la computadora o el usuario que hace clic en el botón de volver a indexar en el panel de administración cambia algo de cómo se disparan u observan los eventos?

Investigué este problema lo mejor que pude y encontré esta publicación.

Eventos no disparando / u observador que no funciona en magento

Pero eso parecía pertenecer a diferentes instalaciones. En mi problema, funciona en una instalación determinada en ciertas computadoras y no en otras, así que sentí que este artículo no era directamente relevante.

Este problema me está volviendo loco. Cualquier ayuda sería muy apreciada.


¿Estás seguro de que tienes el mismo estado de archivo en ambas computadoras? Tal vez te olvidas de transferir / registrar el MyFirm_MyModule.xml y tu módulo no está activo.

¿Las computadoras usan diferentes sistemas operativos? Si está en Windows y sus colegas están en Linux, podría ser un problema con mayúsculas / minúsculas de los nombres de los módulos.


Hay un montón de vudú que podrías probar, pero lo que finalmente tendrás que hacer es comenzar aquí

#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; }

y depure / registre la ejecución de su evento para determinar por qué no se activa en determinadas situaciones.

Respuesta específica de comentarios

¡Gracias! Pude ver que volver a indexar a partir de las marcas de verificación llama a un evento diferente que simplemente haciendo clic en el texto del proceso de re-indexación. Un error dolorosamente largo para depurar pero una solución simple. ¡Gracias de nuevo! -