教程栏目

joomla中文网出品的官方教程

插件开发

本课程将详细的说明如何开发一个标准的Joomla插件。课程中使用的关键词替换插件可以在应用市场中下载。分别介绍Joomla2x,Joomla3x,joomla4x的相关开发.请各位网友观看前确认好自己当前的Joomla版本。

插件是什么?


简单来说,插件就是joomla系统内置了一些钩子,我们可以通过监听这些钩子事件来触发自己的代码。 

对于插件是什么,如果你第一次接触joomla,和可能会让产生错误的理解。插件实际上是joomla里面的一个专用名词,而不是广义上的插件。在jooma系统中,广义上的插件我们称之为扩展。这里的扩展就和其他的CMS系统里面的插件意义一样了。在Joomla中存在任何多种类型的扩展,如,组件,模块,插件,模板,函数库,语言包等等。插件只是众多扩展类型中一个。

插件的作用


插件是joomla的一种扩展,插件针对特定的事件触发相应的代码。joomla提供一组核心的插件事件,第三方扩展也可以提供自己定义的事件。当特定的事件发生时,所有与该事件类型相关的插件方法都会依次执行。通过这种插件机制,可以让joomla的功能变得更加的灵活强大。

在joomla3中,插件架构遵循观察者模式。JPlugin 类提供了向核心或自定义事件注册自定义插件代码的方法。JEventDispatcher 类是一个事件处理程序,当该事件被触发时,它会调用为特定事件注册的所有插件。在joomla4zhong ,这已被移至 Joomla 中的 \Joomla\Event\Dispatcher 类 并且另外遵循中介者模式。

 joomla插件流程图

插件的最终效果就是它允许你在不修改系统核心的情况下执行自己的业务逻辑代码。

使用举例


  1. 假设现在我们有一个任务,要将所有的文章的标题加上“zmax”这几个字。如果手动添加就不划算了,这时可以用插件实现。
  2. 系统核心在准备显示文章标题的时候回触发一个事件 OnContentPrepare。
  3. 系统核心在这个事件中会讲需要展示的文章数据作为参数传递给插件
  4. 我们写一个内容插件,订阅OnContentPrepare这个事件,当这个事件被触发的时候,就修改传递进来的文章标题。
  5. 至此,完美的实现了我们的目标

插件非常的犀利,如果用的好,可以解决非常多的问题。

Snapkeys Q4 is a QWERTY keyboard

在本系列教程中,我们将实现一个关键词替换插件,通过使用这个插件,用户可以替换掉页面的指定的关键词。这个插件在应用市场已经上线,通过搜索"替换"即可找到。

Snapkeys Q4 is a QWERTY keyboard

在本系列教程中,我们将实现一个关键词替换插件,通过使用这个插件,用户可以替换掉页面的指定的关键词。这个插件在应用市场已经上线,通过搜索"替换"即可找到。

子类别