官方系列教材 - Joomla插件开发教程

介绍在如何从0开发一个插件

在这一节我们将介绍一下joomla一个标准插件的文件夹结构。并且写一个最小的能够成功安装的插件。

插件的分组

在joomla的安装目录下,有一个plugins目录,这个目录中存放了系统所有的插件的实现。如图:

在上面的每一个目录,实际上是一个分组。比如user这个文件夹,在这个文件夹中的插件就专门负责处理用户相关的事情,比如登录成功的钩子事件,登录失败的钩子事件等等。我们写的插件只能归属于某一个组。在本教程中,我们的关键词替换插件是一个系统插件.归属于system分组

插件的名称

由于joomla非常依赖命名规范,因此,在开始写代码前需要确定一下你的插件的名称。我们的插件的功能是关键词替换,因此就将其取名为zreplace.

文件结构

一个标准的插件最少需要两个文件

  • 安装说明文件
    • 安装说明文件是一个XML文件,其主要的作用就是向Joomla系统注册这个插件。
    • 这个xml文件的名称需要和插件的名称保持一致
    • 因为我们插件的名称为zreplace,因此,我们需要创建一个zreplace.xml的文件作为其安装说明文件
  • 入口点文件
    • 入口点文件是一个php文件,我们主要的功能代码都是在这个文件中。
    • 入口点文件的名称需要和插件的名称保持一致
    • 因为我们插件的名称为zreplace,因此,我们需要创建一个zreplace.php的文件作为其入口点文件

详细的代码示范

zreplace.xml(安装说明文件)代码如下:

<?xml version="1.0" encoding="utf-8"?>
<extension version="3.0" type="plugin" group="system" method="upgrade">
	<name>ZMAX关键词替换插件</name>
	<author>ZMAX程序人</author>
	<creationDate>2022-09-29</creationDate>
	<copyright>(C)南宁市程序人软件科技有限责任公司 2014 - 2022 . All rights reserved.</copyright>
	<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
	<authorUrl>www.zmax99.com</authorUrl>
	<version>0.0.1</version>
	<description>提供网页关键词替换</description>
	<files>
		<filename plugin="zreplace">zreplace.php</filename>
	</files>
	<config>
		<fields name="params">
			<fieldset name="basic">
			</fieldset>
		</fields>
	</config>
</extension>

上面的代码中,需要关注的点有如下几个:

  • <extenions>节点的type属性必须是plugin.  group属性按照实际的需要设置。可选择的值就是所有plugins目录下文件名的名称。method设置为upgrade.
  • <name>属性是插件标题,主要是给人看的。注意这里并不是插件的名称。
  • <filename>节点的plugin属性必须是你插件的名称。我的插件为zreplace。
  • <files>节点是用来说明你的插件需要包含的文件,如果多个文件,请按照实际情况添加filename节点

其他的所有设置都是标准的一些信息,按照实际情况填写即可。

zreplace.php(插件入口点文件)代码如下:

<?php
defined( '_JEXEC' ) or die; 

class plgSystemZreplace  extends JPlugin
{
	 //当渲染完成后回调的钩子
     public function onAfterRender()
     {
		//TODO
     }
}

关于入口点文件的详情说明,我们在下一节在展开。

打包,安装测试

至此,我们的第一个插件就开发完成了。最终的文件夹结构截图如下:

将其打包称zip格式,然后在扩展管理中进行安装。

安装成功截图如下:

在扩展=>插件管理中可以看到我们刚刚安装的新的插件,截图如下:

 在网站根目录下的plugins/system目录下可以成功的看到我们的插件目录,截图如下:

其他

插件的v0.0.1版本源码下载:[下载文件:]plg_system_zreplacev0.0.1_2022-09-30_for_j3x.zip

 

作者: 樱木花道

Joomla程序员,从J1.5到J4.x始终都在做Joomla相关开发定制工作,有超过10年行业经验,国内Joomla扩展开发商ZMAX团队的核心成员

作者网站:ZMAX程序人

评论 (0)

  • 最新在前
  • 最佳在前