Joomla 插件 onAfterRender

Joomla Plugin onAfterRender

如何让 onAfterRender 最后调用? 问题是我不想在一切都完成后对 JResponse:getBody() 进行更改。 但遗憾的是,我创建的自定义插件最后没有被调用,所以在我对内容进行更改后,会有另一个插件进行更改,这对我来说并不好。 是否有任何其他方法或设置可以让我的 onAfterRender 最后接听电话?

[更新] 从 Joomla 论坛找到并回答,但仍然无法将插件的顺序更改为最后一个,这可能有效,但由于其他原因,其他插件仍未遵循该顺序。

到目前为止,我认为构建插件的顺序没问题,但事件有点奇怪。

我的理论是 Custom Plugin 调用 onAfterRender 的过程可能比 Other Plugin 少,而不是在 Other Plugin __construct ()Custom Plugin __construct ()Other Plugin onAfterRender ()Custom Plugin onAfterRender ()

的序列中

我设法通过将其分离并附加到 JEventDispatcher::getInstance();

来解决问题
/**
     * [onAfterInitialise description]
     * @return [type] [description]
     */
    public function onAfterInitialise()
    {
        $dispatcher = JEventDispatcher::getInstance();
        $dispatcher->detach($this);
        $dispatcher->attach($this);
    } 

    /**
     * [onBeforeRender description]
     * @return [type] [description]
     */
    public function onBeforeRender()
    {
        $dispatcher = JEventDispatcher::getInstance();
        $dispatcher->detach($this);
        $dispatcher->attach($this);
    }

还是有疑问,希望有人能给我解释一下:)