CMS 中触发的事件的时间线图(前端)

  1. cms.page.beforeDisplay

  2. cms.page.initComponents

layout::onInit()
page::onInit()

  1. cms.page.init

  2. cms.ajax.beforeRunHandler

  3. cms.component.beforeRunAjaxHandler

  4. cms.component.runAjaxHandler

  5. cms.page.start --页面生命周期的开始

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()

  1. cms.page.end --页面生命周期结束

  2. cms.page.beforeRenderPage

  3. cms.page.render

  4. cms.page.postprocess

  5. cms.page.display

Note: 在您的插件中添加以下代码boot() 方法会将 CMS 页面事件堆栈转储到您的system.log 文件:

$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);
    }
});
豫ICP备18041297号-2