如何从OctoberCMS中的组件附加响应头?

如何从OctoberCMS中的组件附加响应头?,octobercms,octobercms-plugins,Octobercms,Octobercms Plugins,我正在尝试将响应头(如“Pragma:no cache”)附加到前端页面的响应 如果我是实例化响应对象的人,我可以调用它的header方法,如本文所述 但是,要从组件执行此操作,我需要从组件的onRun方法返回响应对象,它将终止 我曾想过创建中间件来实现这一点,但有没有更简单的方法可以在不终止布局生命周期的情况下为前端页面添加响应头?我发现一种方法似乎是正确的 钩住cms.page.display事件,并根据传递的结果和附加的响应标题创建响应 public function myComp

我正在尝试将响应头(如“Pragma:no cache”)附加到前端页面的响应

如果我是实例化响应对象的人,我可以调用它的
header
方法,如本文所述

但是,要从组件执行此操作,我需要从组件的onRun方法返回响应对象,它将终止


我曾想过创建中间件来实现这一点,但有没有更简单的方法可以在不终止布局生命周期的情况下为前端页面添加响应头?

我发现一种方法似乎是正确的

钩住
cms.page.display
事件,并根据传递的结果和附加的响应标题创建响应

    public function myComponentMethod()
    {
        Event::listen('cms.page.display', function ($controller, $url, $page, $result) {
            $headers = [
                // Headers you want to set
                'Cache-Control' => 'no-store, no-cache, must-revalidate, max-age=0, post-check=0, pre-check=0',
                'Pragma' => 'no-cache',
            ];
            return Response::make($result, $controller->getStatusCode(), $headers);
        });
    }
有关10月份事件处理的详细信息,请参见