واجهة المتجر:ما هو أول حدث يمكن ملاحظته؟
-
12-12-2019 - |
سؤال
مع التيار فانيليا ماجنتو 1.9.1 (CE) أو 1.14.1/1.14.2 (EE) ما هو أولاً حدث يمكن ملاحظته؟
- للواجهة الأمامية (عبر
/index.php
;عندما تم تشغيل برنامج التثبيت بالفعل) - بالنسبة للواجهة الأمامية، عندما لم يتم تشغيل برنامج التثبيت بعد (إذا كان يحدث فرقًا)
- للمشرف
- في كرون
- في خدمة الويب API 1
- في خدمة الويب API 2
(قد يبحث هذا السؤال عن حقائق خالصة، ولكن الأكثر إثارة للاهتمام في نطاق Magento 1 هو كيفية العثور على هذه الأحداث في الكود)
في عملية اكتشاف المزيد، قمت بجمع بعض موارد الويب:
- ما هو أقرب حدث ترسله Magento؟ (أسئلة وأجوبة يونيو 2011)
- أحداث بدء تشغيل Magento (سبتمبر 2012؛بقلم آلان ستورم)
- ما هو أول حدث تم إطلاقه في Magento؟ - (أبريل 2014؛الوداع.شرادي)
المحلول
ومن الممكن ملاحظة هذه الأحداث بنفسك على النحو التالي:
/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