Joomla - 如何捕捉系统事件
Posted
技术标签:
【中文标题】Joomla - 如何捕捉系统事件【英文标题】:Joomla - how to catch system events 【发布时间】:2012-05-06 05:22:51 【问题描述】:我正在编写一个作为组件(不是插件)的 joomla 扩展,但是我还需要能够检测文章何时发布。我已经发现我可以使用一个捕获系统事件 onContentChangeState 的插件来做到这一点,但是我无法弄清楚如何使用组件来捕获事件。有什么想法吗?
我知道最简单的解决方案是将其作为两个扩展,一个插件和一个组件,但这是不可接受的。它必须是组件的一部分。
【问题讨论】:
我可能错了,但我很确定只能通过插件来完成 【参考方案1】:-
响应事件只能通过插件来完成,只有plugins can act as observers用于触发事件。 (否则将需要对核心进行严重的黑客攻击)。
Joomla Component 负责页面上显示的“主要内容”(前端/后端)。它不充当观察者(虽然 component flow is still similar to this diagram 已过时)。
常见的设计和实践是使用它自己的插件来发布一个组件,例如。 JCE、Virtuemart、Akeeba 不胜枚举……
来自 Joomla!从 1.6 开始,单个 Package 可以包含多个存档,每个存档都有自己的manifest,即一个组件及其相关插件。
最终结果是,您可以制作一个使用一个安装包的单个扩展来实现它的多个元素。
【讨论】:
以上是关于Joomla - 如何捕捉系统事件的主要内容,如果未能解决你的问题,请参考以下文章