Timeline

The following is a timeline map of the events fired in the CMS (frontend).

  1. cms.page.beforeDisplay
  2. cms.page.initComponents
    • layout::onInit()
    • page::onInit()
  3. cms.page.init
  4. cms.ajax.beforeRunHandler
  5. cms.component.beforeRunAjaxHandler
  6. cms.component.runAjaxHandler
  7. cms.page.start -- start of page lifecycle
    • layout::onStart()
    • layout::runComponents()
      • component.beforeRun
      • component::onRun()
      • component.run
    • layout::onBeforePageStart()
    • page::onStart()
    • page::runComponents()
      • component.beforeRun
      • component::onRun()
      • component.run
    • page::onEnd()
    • layout::onEnd()
  8. cms.page.end -- end of page lifecycle
  9. cms.page.beforeRenderPage
  10. cms.page.render
  11. cms.page.postprocess
  12. cms.page.display

NOTE: Adding the following code in your Plugin's boot() method will dump the CMS page event stack to your system.log file:

$events_history = [];
Event::listen('*', function ($event, $params) use (&$events_history) {
    if (!str_starts_with($event, 'cms.')) {
        return;
    }
    $events_history[] = $event;
    if ($event === 'cms.page.display') {
        trace_log($events_history);
    }
});
Copyright © 2024 Winter CMS