当前位置: 首页 > 工具软件 > Joomla > 使用案例 >

ch01Joomla插件简介——Joomla插件开发

宗政金鹏
2023-12-01

什么是插件

组件和模块非常容易解释,能够直接输出内容。插件却是各色各样的。每个插件都有自己的用途。
插件被分成:插件组,或者叫做插件类型。按类型理解插件就较为容易了。

Joomla核心中的插件类型

Joomla核心包括12个类型的50多个插件。

  • 内容插件。更改内容的,在第5章
  • 系统插件。在第6章
  • 认证插件。用户登录认证。在第7章
  • 2要素认证插件。除了常规认证外的其他额外认证。在第7章
  • 用户插件。当用户登录登出新建删除时。在第8章。
  • 搜索插件。当使用com_search是,这些插件决定搜索什么内容。在第9章。
  • finder插件(smart search 插件)。使用com_finder插件时调用。com_search和com_finder的区别是,前者直接操作数据库中的表,后者插件一些索引表,然后只搜索索引,更快更有效率。在第9章。
    其他的插件在第10、11章
  • 编辑器插件。
  • 按钮插件。
  • 验证码插件。
  • 扩展插件。
  • 快捷图标插件
    还有更多插件。会在第11章简要介绍。

插件和事件

插件类型只是人为区分组织插件的。真正驱动插件的是事件。
事件是在Joomla代码中的一个位置,告诉插件,“嗨,在这个地方做点啥!”
比如,组件com_user使用JForm来打印用户信息。在表单生成之前,调用JDispatcher来触发onContentPrepareForm事件。插件监听这个事件,来修改$form变量。代码如下:

JPluginHelper::importPlugin(′user ′);
$dispatcher = JDispatcher::getInstance();
$results = $dispatcher->trigger(
′onContentPrepareForm′, array($form, $data)
);

学习如何制作插件,归结为学习这些插件事件。
插件提供了一个方便的机制来修改现有的功能,而不用改变原始代码。不管是Joomla核心还是第三方扩展,都能使用这个方式。而且还可以定制自己的事件。

使用插件的几点建议

排序很重要。这决定了插件的执行顺序。序号越小的越先执行。新插件被安装后,默认序号值是0。注意,插件的顺序不一定总是有效。插件有顺序,但事件没顺序。一个插件可以用来对应2个事件。为第一个事件改了顺序,可能会影响第二个事件。
不要使用太多的插件。会减慢前端,弄乱后台。不用的插件就删除。或者不用使用在线网站来测试新扩展。

总结

插件用来监听Joomla系统抛出的事件。

 类似资料: