ストアフロントエンド:観察できる最初のイベントは何ですか?
-
12-12-2019 - |
質問
現在のバニラマゼンゴ1.9.1(CE)または1.14.1 / 1.14.2(EE)観察できる最初のイベントとは何ですか?
- フロントエンド(
/index.php
;インストーラが既に実行されたとき) - フロントエンドの場合、インストーラがまだ実行されていない場合(違いがある場合)
- adminhtml
- cron
- WebService API 1
- WebService API 2
(この質問は純粋な事実を探しているかもしれませんが、Magentoの範囲内でより面白くすることは、コードでこれらのイベントを見つける方法です)
もっと見つける過程で、いくつかのWebリソースを集める:
- 初期のイベントマゼントの発送は何ですか?(Q&A 2011)
- Magento Startup Events (2012年9月; Alanによって嵐)
- 最初のイベントが発生したものMagentoで? - (2014年4月、E. Schrade)
解決
次のようにしてこれらのイベントを守ることが可能です。
/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
が著しく興味のあるページをロードするときに、順番にすべてのイベントをログに記録します。
これが、サイトを使用している唯一の人物のステージング環境で実行されていることを確認して、正しいイベントを記録していることを確認してください。
各ページを個別に監視した後にログファイルをクリーンアウトして、ログに記録された最初のイベントが常に最初に最初のイベントを発行した。
所属していません magento.stackexchange