【问题标题】:Joomla - how to catch system eventsJoomla - 如何捕捉系统事件
【发布时间】:2023-03-15 04:57:02
【问题描述】:

我正在编写一个作为组件(不是插件)的 joomla 扩展,但是我还需要能够检测文章何时发布。我已经发现我可以使用一个捕获系统事件 onContentChangeState 的插件来做到这一点,但是我无法弄清楚如何使用组件来捕获事件。有什么想法吗?

我知道最简单的解决方案是将其作为两个扩展,一个插件和一个组件,但这是不可接受的。它必须是组件的一部分。

【问题讨论】:

  • 我可能错了,但我很确定只能通过插件来完成

标签: php events joomla components joomla1.7


【解决方案1】:
  1. 响应事件只能通过插件来完成,只有plugins can act as observers用于触发事件。 (否则将需要对核心进行严重的黑客攻击)。
  2. Joomla Component 负责页面上显示的“主要内容”(前端/后端)。它不充当观察者(虽然 component flow is still similar to this diagram 已过时)。
  3. 常见的设计和实践是使用它自己的插件来发布一个组件,例如。 JCEVirtuemartAkeeba 不胜枚举……
  4. 来自 Joomla!从 1.6 开始,单个 Package 可以包含多个存档,每个存档都有自己的manifest,即一个组件及其相关插件。

最终结果是,您可以制作一个使用一个安装包的单个扩展来实现它的多个元素。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-13
    • 2019-03-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多