문제

현재 바닐라 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