Một mẹo hữu ích, để tìm các sự kiện được kích hoạt trong một yêu cầu / hành động của trang, là tạm thời chỉnh sửa app / Mage.php và viết ra các sự kiện được bắn vào var / log / system.log
public static function dispatchEvent($name, array $data = array())
{
Varien_Profiler::start('DISPATCH EVENT:'.$name);
$result = self::app()->dispatchEvent($name, $data);
Varien_Profiler::stop('DISPATCH EVENT:'.$name);
return $result;
}
đến
public static function dispatchEvent($name, array $data = array())
{
if(mage::getIsDeveloperMode()) {
mage::log($name);
}
Varien_Profiler::start('DISPATCH EVENT:'.$name);
$result = self::app()->dispatchEvent($name, $data);
Varien_Profiler::stop('DISPATCH EVENT:'.$name);
return $result;
}
và sau đó đuôi tệp nhật ký. Tôi đã tìm thấy phương pháp này cực kỳ hữu ích, và tiết kiệm rất nhiều thời gian săn lùng cho sự kiện khó nắm bắt đó để sử dụng.
Đương nhiên, bạn nên xóa nó ngay lập tức, vì bạn không muốn cam kết các tệp lõi đã thay đổi. Tôi gói nó vào kiểm tra nhà phát triển, chỉ trong trường hợp.