Интерфейс магазина:Какое событие можно наблюдать в первую очередь?

magento.stackexchange https://magento.stackexchange.com//questions/64971

Вопрос

В текущей версии Vanilla Magento 1.9.1 (CE) или 1.14.1/1.14.2 (EE) что это такое? первый событие, которое можно наблюдать?

  • для интерфейса (через /index.php;когда установщик уже запустился)
  • для интерфейса, когда установщик еще не запускался (если это имеет значение)
  • для администратораhtml
  • в хроне
  • в API веб-сервиса 1
  • в API веб-сервиса 2

(этот вопрос может касаться чистых фактов, но в рамках Magento 1 более интересным является то, как найти эти события в коде)


Чтобы узнать больше, я собрал несколько веб-ресурсов:

Это было полезно?

Решение

Самостоятельно наблюдать за этими событиями можно следующим образом:

/app/Mage.php измените dispatchEvent() функция, как показано ниже:

/**
 * 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;
}

Теперь, когда вы запустите страницу, вы заметите, что /var/log/events.log регистрирует каждое событие по порядку при загрузке любой страницы, которую вы хотите наблюдать.

Убедитесь, что это выполняется в промежуточной среде, где вы единственный человек, использующий сайт, чтобы гарантировать, что вы регистрируете правильные события.

Очистите файл журнала после просмотра каждой страницы по отдельности, чтобы первое зарегистрированное событие всегда было первым инициированным событием.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top